---
name: "xidle"
section: "1"
platform: "linux"
package: "xidle"
version: "20200802"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xidle"
---

# xidle(1)

run a program on X inactivity

## NAME

**xidle** – run a program on X inactivity

## SYNOPSIS

**xidle** \[**-area** *pixels*\] \[**-delay** *secs*\] \[**-display** *display*\]\[ **-no** **-nw** **-ne** **-sw** **-se**\] \[**-program** *path*\] \[**-timeout** *secs*\]

## DESCRIPTION

**xidle** uses the XScreenSaver(3) extension to receive inactivity events when a timeout is specified, running a specific program after the elapsed time. **xidle** will also run the program if it is sent a SIGUSR1 signal, or if the pointer sits in a corner of the screen for an amount of time. Signal and corner locking are always enabled, whether **-timeout** is specified or not.

The options are as follows:

- **-area** *pixels*

  Specify the size, in pixels, of the corner area. The default is 2 pixels.

- **-delay** *secs*

  Specify the number of seconds the pointer has to be in the given position before running the program. The default is 2 seconds.

- **-display** *display*

  This argument allows you to specify the server to connect to; see [X(7)](/X/7.md).

-

  **-no** **-nw** **-ne** **-sw** **-se** Set the position to one of none, northwest, northeast, southwest, or southeast, respectively. If no position is specified, the default is northwest.

- **-program** *path*

  Specify the full pathname of the program to run on any of the aforementioned events. Arguments to the program may also be specified, separated by whitespace. If **-program** is not specified, the default is [xlock(1)](/xlock/1.md).

- **-timeout** *secs*

  Set the timeout to the specified number of seconds. If **-timeout** is not specified, **xidle** won't run any program on inactivity.

## RESOURCES

A few sets of application specific resources are supported and their values can be overridden by the command line options:

- **area** (class **Area**)

  Specify the size, in pixels, of the corner area; see the **-area** option.

- **delay** (class **Delay**)

  Specify the number of seconds to wait before running the program; see the **-delay** option.

- **position** (class **Position**)

  Set the position to one of: "no", "nw", "ne", "sw", or "se"; see descriptions of the **-no**, **-nw**, **-ne**, **-sw**, and **-se** options.

- **program** (class **Program**)

  Specify the full pathname of the program to run; see the **-program** option.

- **timeout** (class **Timeout**)

  Set the timeout to the specified number of seconds; see the **-timeout** option.

The **xidle** program resource class is **XIdle**.

## EXAMPLES

Run [xlock(1)](/xlock/1.md) using the flying bats mode if no activity is detected in 300 seconds or the pointer sits in the southwest corner for more than 5 seconds:

```
$ xidle -delay 5 -sw -program "/usr/X11R6/bin/xlock -mode bat" \
	-timeout 300
```

## SEE ALSO

[xlock(1)](/xlock/1.md), XScreenSaver(3), [X(7)](/X/7.md)

## AUTHORS

The **xidle** program was written by Federico Schwindt ⟨*fgsch@openbsd.org*⟩ as an xautolock replacement.

## BUGS

The maximum number of arguments for **-program**, including the executable file, is currently set to 9.
