Focus (computing)

Last updated

In computing, focus indicates the act of selecting an element of a graphical user interface. Text entered at the keyboard or pasted from a clipboard is sent to the component which has the focus. Moving the focus away from a specific user interface element is known as a blur event in relation to this element. Typically, the focus is withdrawn from an element by giving another element the focus. This means that focus and blur events typically both occur virtually simultaneously, but in relation to different user interface elements, one that gets the focus and one that gets blurred.


The concept is similar to a cursor in a text-based environment. However, when considering a graphical interface, there is also a mouse pointer involved. Moving the mouse will typically move the mouse pointer without changing the focus. The focus can usually be changed by clicking on a component that can receive focus with the mouse. Many desktops also allow the focus to be changed with the keyboard. By convention, the Tab ↹ key is used to move the focus to the next focusable component and ⇧ Shift+Tab ↹ to the previous one. When graphical interfaces were first introduced, many computers did not have mice, so this alternative was necessary. This feature makes it easier for people that have a hard time using a mouse to use the user interface. In certain circumstances, the arrow keys can also be used to move focus.

Window focus

The behaviour of focus on one's desktop can be governed by policies in window management.

Click to focus

On most mainstream user-interfaces, such as ones made by Microsoft and Apple, it is common to find a "focus follows click" policy (or "click to focus"), where one must click the mouse inside of the window for that window to gain focus. This also typically results in the window being raised above all other windows on screen. If a clickfocus model such as this is being used, the current application window continues to retain focus and collect input, even if the mouse pointer is over another application window.

Focus follows pointer

Another common policy on Unix systems using X Window System (X11) is the "focus follows mouse" policy (or FFM), where the focus automatically follows the current placement of the pointer. The focused window is not necessarily raised; parts of it may remain below other windows. Window managers with this policy usually offer "autoraise," which raises the window when it is focused, typically after a configurable short delay. A possible consequence of a followfocus policy is that no window has focus when the pointer is moved over the background with no window underneath; otherwise the focus simply remains in the last window.

Sloppy focus

The sloppyfocus model is a variant of the followfocus model. [1] It allows input to continue to be collected by the last focused window when the mouse pointer is moved away from any window, such as over a menubar or desktop area.

Focus models used by X11 window managers

aewm [2] NoYesNo
aewm++ [3] YesNoNo
AHWM [4] YesNoYes
awesome YesYesYes
CTWM YesYesYes
dwm [5] YesYesNo
E16 YesYesYes (default)
evilwm [6] NoYesNo
Fluxbox YesYesYes
FVWM [α] YesYes (default)Yes
IceWM [7] YesYesYes
Karmen [8] YesNoNo
lwm [9] YesNoYes
TinyWM [10] NoNoYes
Whim [11] YesNoYes
WindowLab Yes (with no autoraise)NoNo
Xfwm YesYesYes
Mutter YesYesYes
JWM YesNoYes

Intra-window component focus

Individual components of a window may also have a focal position. For instance in a text editing package, the text editing window must have the Focus so that text can be entered. When text is entered into the component, it will appear at the position of the text-cursor, which will also normally be movable using the mouse pointer.

Which component should have the default focus, and how focus should move between components, are difficult but important problems in user interface design. Giving the wrong thing focus means that the user has to waste time moving the focus. Conversely, giving the right thing focus can significantly enhance the user experience.

See also

Related Research Articles

Context menu User interface element

A context menu is a menu in a graphical user interface (GUI) that appears upon user interaction, such as a right-click mouse operation. A context menu offers a limited set of choices that are available in the current state, or context, of the operating system or application to which the menu belongs. Usually the available choices are actions related to the selected object. From a technical point of view, such a context menu is a graphical control element.

Graphical user interface User interface allowing interaction through graphical icons and visual indicators

The graphical user interface is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard.

History of the graphical user interface Aspect of history

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

In computing, a window is a graphical control element. It consists of a visual area containing some of the graphical user interface of the program it belongs to and is framed by a window decoration. It usually has a rectangular shape that can overlap with the area of other windows. It displays the output of and may allow input to one or more processes.

Screen magnifier

A screen magnifier is software that interfaces with a computer's graphical output to present enlarged screen content. By enlarging part of a screen, people with visual impairments can better see words and images. This type of assistive technology is useful for people with some functional vision; people with visual impairments and little or no functional vision usually use a screen reader.

Drag and drop

In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used to invoke many kinds of actions, or create various types of associations between two abstract objects.


twm is a window manager for the X Window System. Started in 1987 by Tom LaStrange, it has been the standard window manager for the X Window System since version X11R4. The name originally stood for Tom's Window Manager, but the software was renamed Tab Window Manager by the X Consortium when they adopted it in 1989. twm is a stacking window manager that provides title bars, shaped windows and icon management. It is highly configurable and extensible.

A taskbar is an element of a graphical user interface which has various purposes. It typically shows which programs are currently running.

WIMP (computing)

In human–computer interaction, WIMP stands for "windows, icons, menus, pointer", denoting a style of interaction using these elements of the user interface. Other expansions are sometimes used, such as substituting "mouse" and "mice" for menus, or "pull-down menu" and "pointing" for pointer.

Graphical widget Element of interaction in a graphical user interface

A graphical widget in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application. User interface libraries such as Windows Presentation Foundation, GTK, and Cocoa, contain a collection of controls and the logic to render these.

Window manager Type of system software

A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard, and are often written and created using a widget toolkit.

Tooltip Graphical user interface element

The tooltip, also known as infotip or hint, is a common graphical user interface element in which, when hovering over a screen element or component, a text box displays information about that element. The tooltip is displayed continuously as long as the user hovers over the element.

In computing, the X Window System is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11.

In computer user interfaces, a cursor is an indicator used to show the current position for user interaction on a computer monitor or other display device that will respond to input from a text input or pointing device. The mouse cursor is also called a pointer, owing to its resemblance in usage to a pointing stick.

A menu bar is a graphical control element which contains drop-down menus.

Windows Aero

Windows Aero is a design language introduced in the Windows Vista operating system. The changes made in the Aero interface affected many elements of the Windows interface, including the incorporation of a new look, along with changes in interface guidelines reflecting appearance, layout, and the phrasing and tone of instructions and other text in applications.

A compositing window manager, or compositor, is a window manager that provides applications with an off-screen buffer for each window. The window manager composites the window buffers into an image representing the screen and writes the result into the display memory.

The Windows shell is the graphical user interface for the Microsoft Windows operating system. Its readily identifiable elements consists of the desktop, the taskbar, the Start menu, the task switcher and the AutoPlay feature. On some versions of Windows, it also includes Flip 3D and the charms. In Windows 10, the Windows Shell Experience Host interface drives visuals like the Start Menu, Action Center, Taskbar, and Task View/Timeline. However, the Windows shell also implements a shell namespace that enables computer programs running on Windows to access the computer's resources via the hierarchy of shell objects. "Desktop" is the top object of the hierarchy; below it there are a number of files and folders stored on the disk, as well as a number of special folders whose contents are either virtual or dynamically created. Recycle Bin, Libraries, Control Panel, This PC and Network are examples of such shell objects.


WindowLab is an X window manager for Unix-like systems. It is based on aewm and retains that window manager's small and lightweight nature. In many aspects, WindowLab has looked to the Amiga's user interface for inspiration without cloning it completely. Its top-level menu bar is accessed by a right click as on the Amiga and it follows Fitts's law of usability in that once the mouse enters the menu area it is constrained there in both the horizontal and vertical directions. Unlike on the Amiga, the menu bar is not controlled by applications; it is a global launcher menu which is populated by a dot file in the user's home directory containing a list of menu titles and commands.


  1. "Whim basic information". Cunningham & Cunningham. 25 February 2012. Retrieved 16 January 2016.
  2. "aewm - Red Bean". 27 December 2007. Archived from the original on 14 January 2016. Retrieved 16 January 2016.
  3. "Guide to X11/Window Managers/aewm++". Wikibooks . 18 July 2010. Retrieved 16 January 2016.
  4. "AHWM - Alex Hioreanu's Window Manager". 24 February 2014. Retrieved 16 January 2016.
  5. "dwm - dynamic window manager". 9 November 2015. Retrieved 16 January 2016.
  6. "evilwm - a minimalist window manager for the X Window System". The Dragon 32/64 Computers. 13 July 2015. Retrieved 16 January 2016.
  7. "icewm(1)". 13 February 2021. Retrieved 16 February 2021.
  8. "Karmen: A Window Manager for X". 28 December 2008. Retrieved 16 January 2016.
  9. "lwm - Lightweight Window Manager". 26 February 2015. Retrieved 16 January 2016.
  10. " tinywm". 23 April 2014. Retrieved 16 January 2016.
  11. "Whim basic information". Tcler's Wiki. 24 November 2009. Retrieved 16 January 2016.


αPer window or window class, with additional support for "never focus" — windows that should never receive focus.