xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) Braden Shepherdson 2008
LicenseBSD-style (as xmonad)
MaintainerBraden.Shepherdson@gmail.com
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Util.Scratchpad

Contents

Description

Very handy hotkey-launched floating terminal window.

Synopsis

Usage

Bind a key to scratchpadSpawnAction Pressing it will spawn the terminal, or bring it to the current workspace if it already exists. Pressing the key with the terminal on the current workspace will send it to a hidden workspace called NSP.

If you already have a workspace called NSP, it will use that. NSP will also appear in xmobar and dzen status bars. You can tweak your dynamicLog settings to filter it out if you like.

A tool like detach (http://detach.sourceforge.net) turns it into a launchpad for X apps.

By default, your xmonad terminal is used. The default ManageHook uses a centered, half-screen-wide, quarter-screen-tall window. The key, position and size are configurable.

The terminal application must support the -name argument. Known supported terminals: rxvt, rxvt-unicode, xterm. Most others are likely to follow the lead set by xterm.

Bind the following to a key in your xmonad.hs keybindings:

scratchpadSpawnAction conf

Where conf is the configuration.

And add one of the scratchpadManageHook*s to your ManageHook list. The default rectangle is half the screen wide and a quarter of the screen tall, centered.

scratchpadSpawnAction Source #

Arguments

:: XConfig l

The configuration, to retrieve the terminal

-> X () 

Action to pop up the terminal, for the user to bind to a custom key.

scratchpadSpawnActionTerminal Source #

Arguments

:: String

Name of the terminal program

-> X () 

Action to pop up the terminal, with a directly specified terminal.

scratchpadSpawnActionCustom Source #

Arguments

:: String

Command to spawn a program with resource "scratchpad"

-> X () 

Action to pop up any program with the user specifying how to set its resource to "scratchpad". For example, with gnome-terminal:

scratchpadSpawnActionCustom "gnome-terminal --disable-factory --name scratchpad"

scratchpadManageHookDefault :: ManageHook Source #

The ManageHook, with the default rectangle: Half the screen wide, a quarter of the screen tall, centered.

scratchpadManageHook Source #

Arguments

:: RationalRect

User-specified screen rectangle.

-> ManageHook 

The ManageHook, with a user-specified StackSet.RationalRect, e.g., for a terminal 4/10 of the screen width from the left, half the screen height from the top, and 6/10 of the screen width by 3/10 the screen height, use:

scratchpadManageHook (W.RationalRect 0.4 0.5 0.6 0.3)

scratchpadFilterOutWorkspace :: [WindowSpace] -> [WindowSpace] Source #

Transforms a workspace list containing the NSP workspace into one that doesn't contain it. Intended for use with logHooks (see filterOutWsPP) and XMonad.Hooks.EwmhDesktops (see addEwmhWorkspaceSort).