summaryrefslogtreecommitdiffstats
path: root/README.md
blob: bc748f83f686b48bcb22c3435b0a7cba1c831a84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Rofi 

A popup window switcher roughly based on [superswitcher](http://code.google.com/p/superswitcher/), requiring only xlib and xft.
This version is based on the version from [Sean
Pringle](http://github.com/seanpringle/simpleswitcher). All credit for this great tool should go to him.

Some of the features of rofi are:

* Switcher centered on screen (or monitor for multi-head).

* Vertical list with two columns:
    1. Desktop number (optional, not shown in i3 mode)
	2. Window class.
	3. Window title.

* Controls like dmenu:
	* Type to filter windows.
    * Tokonized filter. Type any word in any order to filter.
	* Arrows to highlight selections.
	* Return to select.

* Rudimentary run dialog
    * Type to filter.
    * Tokonized filter. Type any word in any order to filter.
	* Arrows to highlight selections.
	* Return to select.
    * Shift-Return to run in terminal.
    * Favorites list.

* Quickly ssh into remote machines
    * Parses ~/.ssh/config to find hosts.

* Runs in background or once-off.

* Drop in dmenu replacement.

If compiled with I3 support, it should autodetect if I3 window manager is running. 

## Usage

e.g.

  bindsym $mod+Tab exec rofi -now -font "snap-10" -fg "#505050" -bg "#000000" -hlfg "#ffb964" -hlbg "#000000" -o 85

## Switching Between Modi

Type '?' (enter)  to switch from Window list mode to Run mode and back.

## Compilation

If compiling from GIT, first run to generate the needed build files:

    autoreconf --install

To build rofi, run the following steps:

    mkdir build/
    cd build/
    ../configure
    make
    make install

The build system will autodetect the i3 header file during compilation. If it fails, make sure you 
have i3/ipc.h installed. Check config.log for more information. 

## Dependencies

Rofi requires the following tools and libraries to be installed:

 * libx11
 * libxinerama
 * libxdg-basedir
 * libxft 

## Configuration

There are 3 ways to configure rofi:

### 1. Pre-compile time

You can change the default behavior by modifying config/config.c

### 2. Xresources

Another solution is to configure it via X resources, e.g. add the following to your 
Xresources file:

    rofi.background: #333
    rofi.foreground: #1aa
    rofi.highlightbg: #1aa
    rofi.highlightfg: #111
    rofi.bordercolor: #277
    rofi.font: times-10
    rofi.padding: 3
    rofi.lines: 5
    rofi.borderwidth: 3

### 3. Runtime

All the above settings can be overridden by rofi's commandline flags.

## Archlinux

This version of rofi has been made available on the
[AUR](https://aur.archlinux.org/packages/rofi-git/).

## Contact

Issues, feature requests can be filed at the github [issue
tracker](https://github.com/DaveDavenport/rofi/issues).

If you need to ask a direct question or get support installing, please find us on IRC: #gmpc on
[freenode.net](https://webchat.freenode.net/?channels=#gmpc).