diff options
author | Darrell Anderson <humanreadable@yahoo.com> | 2014-01-29 00:13:55 -0600 |
---|---|---|
committer | Darrell Anderson <humanreadable@yahoo.com> | 2014-01-29 00:13:55 -0600 |
commit | e19684e465ddc5421ce21dabbd19faac58457709 (patch) | |
tree | 0e0b4de61cb987aaebd1adc79d94890fef116c3d /doc | |
parent | fd41985edbb55d5db52e3d2cf8bfcf38fa92652a (diff) | |
download | tdebase-e19684e465ddc5421ce21dabbd19faac58457709.tar.gz tdebase-e19684e465ddc5421ce21dabbd19faac58457709.zip |
Add new kcontrol windows behavior help handbook.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/kcontrol/windowbehavior/CMakeLists.txt | 3 | ||||
-rw-r--r-- | doc/kcontrol/windowbehavior/index.docbook | 778 |
2 files changed, 755 insertions, 26 deletions
diff --git a/doc/kcontrol/windowbehavior/CMakeLists.txt b/doc/kcontrol/windowbehavior/CMakeLists.txt index d5b01a51e..cbbfb194a 100644 --- a/doc/kcontrol/windowbehavior/CMakeLists.txt +++ b/doc/kcontrol/windowbehavior/CMakeLists.txt @@ -1,8 +1,5 @@ ################################################# # -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# # Improvements and feedback are welcome # # This file is released under GPL >= 2 diff --git a/doc/kcontrol/windowbehavior/index.docbook b/doc/kcontrol/windowbehavior/index.docbook index 87698a1c6..356e3ce0f 100644 --- a/doc/kcontrol/windowbehavior/index.docbook +++ b/doc/kcontrol/windowbehavior/index.docbook @@ -1,20 +1,20 @@ <?xml version="1.0" ?> <!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ + <!ENTITY kompmgr "kompmgr"> <!ENTITY % addindex "IGNORE"> <!ENTITY % English "INCLUDE"> ]> -<!-- Note: When updating this empty handbook, remember that usually most handbooks --> -<!-- use the book model rather than article. Feel free to use article if the new handbook --> -<!-- remains really short. --> - <article lang="&language;"> <title>Window Behavior</title> <articleinfo> <authorgroup> -<corpauthor>&tde-team;</corpauthor> +<author>&Mike.McBride;</author> +<author>&Jost.Schenck;</author> +<author>&tde-authors;</author> + <!-- TRANS:ROLES_OF_TRANSLATORS --> </authorgroup> @@ -22,39 +22,771 @@ <date>Reviewed: &tde-release-date;</date> <copyright> +<year>2010</year> +<holder>Mike McBride</holder> +<holder>Jost Schenck</holder> +</copyright> +<copyright> <year>&tde-copyright-date;</year> <holder>&tde-team;</holder> </copyright> -<abstract> -<para> -This handbook describes window behavior settings. -</para> -</abstract> - <keywordset> <keyword>TDE</keyword> +<keyword>KControl</keyword> +<keyword>system settings</keyword> +<keyword>window behavior</keyword> +<keyword>focus</keyword> +<keyword>actions</keyword> +<keyword>moving</keyword> </keywordset> </articleinfo> -<sect1 id="apologies"> -<title>We Apologize</title> -<para>No documentation has yet been written for this module.</para> +<sect1 id="window-behavior"> +<title>Window Behavior</title> + +<para> In the upper part of this control module you can see several +tabs: <guilabel>Focus</guilabel>, <guilabel>Titlebar Actions</guilabel>, +<guilabel>Window Actions</guilabel>, <guilabel>Moving</guilabel>, +<guilabel>Advanced</guilabel>, and <guilabel>Translucency</guilabel>. + +In the <guilabel>Focus</guilabel> panel you can configure how windows gain or +lose focus, &ie; become active or inactive. + +Using <guilabel>Titlebar Actions</guilabel> and <guilabel>Window Actions</guilabel> +you can configure how titlebars and windows react to +mouse clicks. + +<guilabel>Moving</guilabel> allows you to configure how +windows move and place themselves when started. + +The <guilabel>Advanced</guilabel> options cover some specialized options +involving moving windows between desktops and <quote>window +shading</quote>. + +The <guilabel>Translucency</guilabel> options support +window manager desktop effects through the kompmgr compositing manager. +</para> + +<note> +<para> +Please note the configuration options in this module will not take effect +when you do not use &tde;'s native window manager, &twin;. When you use a +different window manager, please refer to the respective documentation for +customizing window behavior. +</para> +</note> + +<sect2 id="focus"> +<title>Focus</title> + +<para> +The <quote>focus</quote> of the desktop refers to the window which the +user is currently working on. The window with focus is often referred to +as the <quote>active window</quote>. +</para> + +<para>Focus does not necessarily mean the window is the one at the +front — this is referred to as <quote>raised</quote>, and +although this is configured here as well, focus and raising of windows +are configured independently.</para> + +<sect3 id="focus-focus-policy"> +<title>Focus Policy</title> + +<para> +There are four methods &tde; can use to determine the current focus: +</para> + +<variablelist> +<varlistentry> +<term><guilabel>Click to Focus</guilabel></term> +<listitem> +<para> +A window becomes active when you click into it. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Focus Follows Mouse</guilabel></term> +<listitem> +<para> +Moving the mouse pointer actively over a normal window activates it. New +windows such as the mini command line invoked with +<keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo> will receive the focus, +without you having to point the mouse at them explicitly. +</para> + +<para> +In other window managers, this is sometimes known as <quote>Sloppy focus +follows mouse.</quote> +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Focus Under Mouse</guilabel></term> +<listitem> +<para> +The window that happens to be under the mouse pointer becomes active. When +the mouse is not over a window (for instance, it's on the desktop) the last +window that was under the mouse has focus. New windows such as the mini +command line invoked with <keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo> will +not receive the focus, you must move the mouse over them to type. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Focus Strictly Under Mouse</guilabel></term> +<listitem> +<para>Similar to <guilabel>Focus Under Mouse</guilabel>, but even more +strict with its interpretation. Only the window under the mouse pointer is +active. When the mouse pointer is not over a window, no window has focus. +New windows such as the mini command line invoked with +<keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo> will not receive the focus, +you must move the mouse over them to type. +</para> + +<note><para>Note that <guilabel>Focus Under Mouse</guilabel> and +<guilabel>Focus Strictly Under Mouse</guilabel> prevent certain +features from working properly, such as the +<keycombo action="simul">&Alt;	</keycombo> windows switching dialog.</para> +</note> + +</listitem> +</varlistentry> +</variablelist> + +<para> +After deciding the focus policy, there are window raising options. +</para> + +<para> +When enabling <guilabel>Auto raise</guilabel>, &tde; can +bring a window to the front when the mouse is over that window for a +specified period. When <guilabel>Delay focus</guilabel> is enabled, +there will be a delay after which the window the mouse pointer is over will become +active (receive focus). +This is very useful with the <guilabel>Focus Follows Mouse</guilabel> option. +You can determine the delay for both options by using the spin box controls. +</para> + +<tip> +<para> +Setting the delay too short will cause a rapid fire changing of +windows, which can be quite distracting. Most people will like a delay +of 100-300 milliseconds. This is responsive, but it will let you slide over the +corners of a window on your way to your destination without bringing +that window to the front. +</para> +</tip> + +<para> +When you do not use <guilabel>Auto raise</guilabel>, ensure the +<guilabel>Click raises active window</guilabel> option is enabled. You +will not be happy with both <guilabel>Auto raise</guilabel> and +<guilabel>Click raises active window</guilabel> disabled, the net effect is that +windows are not raised at all. +</para> + +</sect3> + +<sect3 id="focus-focus-stealing"> +<title>Focus stealing prevention level</title> + +<para>This option specifies how much TWin will try to prevent unwanted focus +stealing caused by unexpected activation of new windows.</para> +<note><para>This feature does not work with the <guilabel>Focus Under Mouse</guilabel> +or <guilabel>Focus Strictly Under Mouse</guilabel> focus policies.</para></note> +<variablelist> +<varlistentry> +<term><guilabel>None</guilabel></term> +<listitem><para>Prevention is turned off and new windows always become activated.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Low</guilabel></term> +<listitem><para>Prevention is enabled; when some window does not have support +for the underlying mechanism and TWin cannot reliably decide whether to activate +the window or not, it will be activated. This setting may have both worse and better +results than the medium level, depending on the applications.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Medium</guilabel></term> +<listitem><para>Prevention is enabled.</para></listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>High</guilabel></term> +<listitem><para>New windows get activated only +when no window is currently active or when they belong to the currently active +application. This setting is probably not really usable when not using mouse +focus policy.</para></listitem> +</varlistentry> +<varlistentry> +<term><guilabel>Extreme</guilabel></term> +<listitem><para>All windows must be explicitly activated by the user.</para></listitem> +</varlistentry> +</variablelist> +<para>Windows that are prevented from stealing focus are marked as demanding +attention, which by default means their taskbar entry will be highlighted. +This can be changed in the Notifications control module.</para> +</sect3> + +<sect3 id="focus-navigation"> +<title><guilabel>Navigation</guilabel></title> + +<para> +In the <guilabel>Navigation</guilabel> frame you can configure the way +switching between applications or desktops using <keycombo +action="simul"> &Alt;	</keycombo> or <keycombo +action="simul"> &Ctrl;	</keycombo>. +</para> + +<para> +<guilabel>Show window list while switching windows</guilabel>. This option determines +the method used when switching applications using <keycombo action="simul">&Alt; +	</keycombo>. Pressing and holding &Alt; while +repeatedly pressing and releasing the 	 key, can take place in +&tde; mode or in &CDE; mode. In &tde; mode you will see +a window box in the middle of the screen showing the currently selected +application while still holding the &Alt; key. In +&CDE; mode there is no window box and the focus immediately goes to each +new application when selected by pressing the 	 key. +</para> + +<para> +<guilabel>Traverse windows on all desktops</guilabel>. With this option enabled, switching +windows with <keycombo action="simul"> +&Alt;	</keycombo> will show all applications on all +desktops and take you to the appropriate desktop for the application you +select. When disabled, only windows on your current desktop are +selectable with <keycombo action="simul"> +&Alt;	</keycombo> and you must use <keycombo +action="simul">&Ctrl;	</keycombo> or other methods to switch to other +desktops. +</para> + +<para> +<guilabel>Desktop navigation wraps around</guilabel>. With this option, you cycling +through to the <quote>last</quote> desktop, pressing 	 again will +select the first desktop.</para> + +<para> +<guilabel>Popup desktop name on desktop switch</guilabel>. Many people name their virtual +desktops according to their purpose or some other naming scheme. You might find this method +convenient to select the desired desktop to tell that you have switched to the right one.</para> +</sect3> + +</sect2> + +<sect2 id="titlebar-actions"> +<title>Titlebar Actions</title> + +<para> +In this panel you can configure what happens to windows when a mouse button is +clicked on their titlebars. +</para> + +<sect3 id="titlebar-actions-sec1"> +<title><guilabel>Titlebar double-click</guilabel></title> + +<para> +In this drop down box you can select either +<guilabel>Shade</guilabel>, several variations of +<guilabel>Maximize</guilabel> or <guilabel>Lower</guilabel>. +</para> + +<para> +Selecting <guilabel>Maximize</guilabel> causes &tde; to maximize the +window whenever you double click on the titlebar. You can further +choose to maximize windows only horizontally or only +vertically.</para> + +<para><guilabel>Shade</guilabel>, on the other hand, causes the window to be +reduced to simply the titlebar. Double clicking on the titlebar again, +restores the window to its normal size. +</para> + +</sect3> + +<sect3 id="titlebar-actions-sec2"> +<title><guilabel>Titlebar wheel event</guilabel></title> + +<para>This feature functions much the same as <guilabel>Titlebar double-click</guilabel> +except the mouse scroll wheel causes the events.</para> + +<tip> +<para> +You can have windows automatically unshade when you simply place the +mouse over their shaded titlebar. Just check the <guilabel>Enable +hover</guilabel> check box in the <guilabel>Advanced</guilabel> tab of +this module. This is a great way to reclaim desktop space when you are +cutting and pasting between a lot of windows, for example. +</para> +</tip> + +</sect3> + +<sect3 id="titlebar-actions-sec3"> +<title><guilabel>Titlebar & Frame</guilabel></title> + +<para> +This section allows you to determine what happens when you single click +on the titlebar or frame of a window. Notice that you can have +different actions associated with the same click depending on whether +the window is active or not. +</para> + +<para> For each combination of mouse buttons, modifiers, Active and +Inactive, you can select the most appropriate choice. The actions are +as follows: </para> + +<variablelist> +<varlistentry> +<term><guilabel>Activate</guilabel></term> +<listitem> +<para> +Make this window active. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Lower</guilabel></term> +<listitem> +<para> +Will move this window to the bottom of the display. This will get the +window out of the way. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Nothing</guilabel></term> +<listitem> +<para> +Just like it says. Nothing happens. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Operations Menu</guilabel></term> +<listitem> +<para> +Will bring up a small submenu, where you can choose window related +commands (&ie; Maximize, Minimize, Close, &etc;). +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Raise</guilabel></term> +<listitem> +<para> +Will bring the window to the top of the display. All other windows +which overlap with this one, will be hidden <quote>below</quote> it. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term>Toggle Raise & Lower</term> +<listitem> +<para> +This will raise windows which are not on top, and lower windows which +are already on top. +</para> +</listitem> +</varlistentry> +</variablelist> +</sect3> + +<sect3 id="titlebar-actions-maximize-button"> +<title><guilabel>Maximize Button</guilabel></title> +<para> +This section allows you to determine the behavior of the three mouse buttons +onto the maximize button. You have the choice between vertical only, horizontal +only or both directions. +</para> +</sect3> + +</sect2> + +<sect2 id="window-actions"> +<title>Window Actions</title> + +<sect3 id="window-actions-sec1"> +<title><guilabel>Inactive Inner Window</guilabel></title> + +<para> +This part of the module, allows you to configure what happens when you +click on an inactive window, with any of the three mouse buttons. +</para> + +<para> +Your choices are as follows: +</para> + +<variablelist> +<varlistentry> +<term><guilabel>Activate, Raise & Pass Click</guilabel></term> +<listitem> +<para> +This makes the clicked window active, raises it to the top of the +display, and passes a mouse click to the application within the window. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Activate & Pass Click</guilabel></term> +<listitem> +<para> +This makes the clicked window active and passes a mouse click to the +application within the window. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Activate</guilabel></term> +<listitem> +<para> +This simply makes the clicked window active. The mouse click is not +passed on to the application within the window. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Activate & Raise</guilabel></term> +<listitem> +<para> +This makes the clicked window active and raises the window to the top of +the display. The mouse click is not passed on to the application within +the window. +</para> +</listitem> +</varlistentry> +</variablelist> + +</sect3> + +<sect3 id="window-actions-sec2"> +<title><guilabel>Inner Window, Titlebar & Frame</guilabel></title> + +<para> +This bottom section, allows you to configure additional actions, when +a modifier key (by default &Alt;) is pressed, and a mouse click is +made on a window.</para> + +<para> +Once again, you can select different actions for +<mousebutton>Left</mousebutton>, <mousebutton>Middle</mousebutton> and +<mousebutton>Right</mousebutton> button clicks and the <guilabel>Mouse +wheel</guilabel>. +</para> + +<para>Your choices are:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Lower</guilabel></term> +<listitem> +<para> +Will move this window to the bottom of the display. This will get the +window out of the way. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Move</guilabel></term> +<listitem> +<para> +Allows you to drag the selected window around the desktop. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Nothing</guilabel></term> +<listitem> +<para> +Just like it says. Nothing happens. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Raise</guilabel></term> +<listitem> +<para> +Will bring the window to the top of the display. All other windows +which overlap with this one, will be hidden <quote>below</quote> it. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Resize</guilabel></term> +<listitem> +<para> +Allows you to change the size of the selected window. +</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Toggle Raise & Lower</guilabel></term> +<listitem> +<para> +This will raise windows which are not on top, and lower windows which +are already on top. +</para> +</listitem> +</varlistentry> +</variablelist> + +</sect3> + +</sect2> + +<sect2 id="moving"> +<title>Moving</title> + +<sect3> +<title><guilabel>Windows</guilabel></title> + +<para>The options here determine how windows appear on screen when you +are moving them. Most of these options mean a price in performance, +so when you want to streamline your desktop, you should turn them off. +However, when you have a fast computer, they may make your day a little +more pleasant, so leave them on.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Display content in moving windows</guilabel></term> +<listitem> +<para>Enable this option when you want a window's content to be fully +shown while moving it, instead of just showing a window +<quote>skeleton</quote>. The result may not be satisfying on slow +computers without graphic acceleration.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display content in resizing windows</guilabel></term> +<listitem> +<para>Enable this option when you want a window's content to be shown +while resizing it, instead of just showing a window +<quote>skeleton</quote>. The result, again, may not be satisfying on +slower computers.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Display window geometry when moving or +resizing</guilabel></term> +<listitem> +<para>Enable this option when you want a popup tooltip to tell you the +size in pixels of a window as you resize it.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Animate minimize and restore</guilabel></term> +<listitem> +<para>When enabled, this feature provides animation when +windows are minimized or restored. The effect is the window "shrinks" +while minimizing to the panel and "grows" when restoring.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Allow moving and resizing of maximizing windows</guilabel></term> +<listitem> +<para>When enabled, this feature activates the titlebar and border of maximized windows +to allow moving or resizing maximized windows.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Placement</guilabel></term> +<listitem> +<para>This feature determines where new windows are placed on the desktop.</para> + +<itemizedlist> + +<listitem> +<para><guilabel>Smart</guilabel> will try to achieve a minimum overlap of all windows. +Generally, placement begins at the upper left and continues to the right, then begins again +at the left but lower, something like the rasterization of CRT tubes in TVs. +</para> +</listitem> + +<listitem> +<para><guilabel>Maximizing</guilabel> will try to maximize every window to fill the whole screen. It might be +useful to selectively affect placement of some windows using the window-specific settings. +</para> +</listitem> + +<listitem> +<para><guilabel>Cascade</guilabel> will cascade the windows. +</para> +</listitem> + +<listitem> +<para><guilabel>Random</guilabel> will use a random position. +</para> +</listitem> + +<listitem> +<para><guilabel>Centered</guilabel> will place the window centered. +</para> +</listitem> + +<listitem> +<para><guilabel>Zero-Cornered</guilabel> will place the window in the top-left corner +</para> +</listitem> + +</itemizedlist> + +</listitem> +</varlistentry> + +</variablelist> + +</sect3> + +<sect3> +<title><guilabel>Snap Zones</guilabel></title> + +<para>The rest of this page allows you to configure the <guilabel>Snap +Zones</guilabel>. These are like a magnetic field along the side of +the desktop and each window, which will make windows snap alongside +when moved near.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Border snap zone:</guilabel></term> +<listitem> + +<para>Here you can set the snap zone for screen borders. Moving a +window within the configured distance will make it snap to the edge of +the desktop.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Window snap zone:</guilabel></term> +<listitem> + +<para>Here you can set the snap zone for windows. As with screen +borders, moving a window near to another will make it snap to the edge +as when the windows were magnetized.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Snap windows only when overlapping</guilabel></term> +<listitem> + +<para>When checked, windows will not snap together when they are only near +each other, they must be overlapping, by the configured amount or +less.</para> +</listitem> +</varlistentry> +</variablelist> +</sect3> + +</sect2> + +<sect2 id="advanced"> +<title>Advanced</title> + +<para> +In the <guilabel>Advanced</guilabel> panel you can do more advanced fine +tuning to the window behavior. +</para> + +<variablelist> +<title>Shading</title> + +<varlistentry> +<term><guilabel>Animate</guilabel></term> +<listitem> +<para>When this option is enabled, shading, or rolling up a window until just +the title bar is shown, will be animated.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Enable hover</guilabel></term> +<listitem> +<para> +When this option is enabled, a shaded window will un-shade automatically +when the mouse pointer has been over the titlebar for the configured delay. +Use the slider widget to configure the delay. +</para> +</listitem> +</varlistentry> + +</variablelist> + +<variablelist> +<title>Active Desktop Borders</title> + +<varlistentry> +<term><guilabel>Disabled</guilabel></term> +<listitem> +<para>When this option is enabled, moving the mouse pointer to a screen +border will change your desktop. This is useful when you want to drag +windows from one desktop to another.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Only when moving windows</guilabel></term> +<listitem> +<para>Moving your mouse pointer against the side of the screen will +switch to a new desktop only while moving a window.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Always enabled</guilabel></term> +<listitem> +<para>Moving your mouse pointer against the side of the screen will +always switch to a new desktop.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para> +<guilabel>Hide utility windows for inactive applications</guilabel>. When +enabled, utility windows (tool windows, torn-off menus) of +inactive applications will be hidden and will be shown only when the +application becomes active. Note that applications have to mark the windows +with the proper window type for this feature to work. +</para> -<para>If you need help, please check <ulink url="http://www.trinitydesktop.org">The &tde; -web site</ulink>, submit questions to the <ulink url="http://www.trinitydesktop.org/mailinglist.php"> -&tde; mail lists</ulink>, or file a bug report at the <ulink url="http://bugs.trinitydesktop.org/"> -&tde; bug tracker</ulink>.</para> +</sect2> -<para>If you are interested in helping, please consider writing the help file. -Submitting a basic text file is acceptable as the &tde-team; will convert the text.</para> +<sect2 id="translucency"> +<title>Translucency</title> -<para>Thank you for helping and thank you for your patience.</para> +<para>The options available in this module are explained in the +<ulink url="help:/kompmgr/index.html">&kompmgr; Handbook</ulink>.</para> -&underFDL; +</sect2> </sect1> -&documentation.index; </article> |