2014-07-27 10:46:00 +00:00
|
|
|
# Installation guide
|
2014-07-27 07:54:10 +00:00
|
|
|
|
|
|
|
## DEPENDENCY
|
|
|
|
|
|
|
|
### For building:
|
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
* C compiler that supports the c99 standard. (gcc or clang)
|
2014-07-27 07:54:10 +00:00
|
|
|
* make
|
|
|
|
* autoconf
|
2015-03-24 15:02:03 +00:00
|
|
|
* automake (1.11.3 or up)
|
2015-05-25 08:30:32 +00:00
|
|
|
* pkg-config
|
2015-03-24 15:02:03 +00:00
|
|
|
* Developer packages of the external libraries
|
2014-07-27 07:54:10 +00:00
|
|
|
|
|
|
|
### External libraries
|
|
|
|
|
2014-08-03 13:27:13 +00:00
|
|
|
* libpango
|
2015-10-25 10:11:42 +00:00
|
|
|
* libpangocairo
|
|
|
|
* libcairo
|
2016-03-05 10:38:41 +00:00
|
|
|
* libcairo-xcb
|
2015-12-01 21:35:05 +00:00
|
|
|
* libglib2.0 >= 2.40
|
2014-07-27 07:54:10 +00:00
|
|
|
* libx11
|
2015-09-13 15:29:50 +00:00
|
|
|
* libstartup-notification-1.0
|
2016-03-05 15:04:24 +00:00
|
|
|
* libxkbcommon
|
|
|
|
* libxkbcommon-x11
|
|
|
|
* libxcb (sometimes split, you need libxcb, libxcb-xkb and libxcb-xinerama)
|
2016-03-05 21:30:53 +00:00
|
|
|
* libx11-xcb
|
2016-03-05 15:04:24 +00:00
|
|
|
* xcb-util
|
|
|
|
* xcb-util-wm (sometimes split as libxcb-ewmh and libxcb-icccm)
|
2014-07-27 07:54:10 +00:00
|
|
|
|
2015-05-25 08:30:32 +00:00
|
|
|
On debian based systems, the developer packages are in the form of: `<package>-dev` on rpm based
|
2016-03-05 15:04:24 +00:00
|
|
|
`<package>-devel`.
|
2015-05-25 08:30:32 +00:00
|
|
|
|
2015-01-05 21:35:42 +00:00
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
### Optional:
|
|
|
|
|
|
|
|
* For i3 support, you need at least i3 version 4.5 or up.
|
2014-08-28 19:27:04 +00:00
|
|
|
Make sure that 'i3/ipc.h' is included. If it fails please check
|
|
|
|
config.log.
|
2014-07-21 14:41:31 +00:00
|
|
|
|
2014-07-22 07:02:57 +00:00
|
|
|
|
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
## Install from a release
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
Check dependencies and configure build system:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
./configure
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
Build Rofi:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
make
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
The actual install, execute as root (if needed):
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
make install
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
## Install a checkout from git
|
2014-07-21 14:41:31 +00:00
|
|
|
|
2016-03-05 12:36:18 +00:00
|
|
|
Pull in dependencies
|
|
|
|
|
|
|
|
```
|
|
|
|
git submodule update --init
|
|
|
|
```
|
|
|
|
|
2014-07-21 14:41:31 +00:00
|
|
|
Generate build system:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
autoreconf -i
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
Create a build directory:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
mkdir build
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
2015-01-28 11:36:23 +00:00
|
|
|
Enter build directory:
|
|
|
|
|
|
|
|
```
|
|
|
|
cd build
|
|
|
|
```
|
|
|
|
|
2014-07-21 14:41:31 +00:00
|
|
|
Check dependencies and configure build system:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
../configure
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
Build rofi:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
make
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
The actual install, execute as root (if needed):
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
make install
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
## Options for configure
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
When you run the configure step there are several you can configure. (To see the full list type
|
|
|
|
`./configure --help` ).
|
|
|
|
|
|
|
|
The most useful one to set the installation prefix:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
./configure --prefix=<installation path>
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
|
|
|
f.e.
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
./configure --prefix=/usr/
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
### Install locally
|
|
|
|
|
2014-07-21 14:41:31 +00:00
|
|
|
or to install locally:
|
|
|
|
|
2014-07-27 07:54:10 +00:00
|
|
|
```
|
|
|
|
./configure --prefix=${HOME}/.local/
|
|
|
|
```
|
2014-07-21 14:41:31 +00:00
|
|
|
|
2014-07-27 10:46:00 +00:00
|
|
|
### I3 workaround
|
|
|
|
|
|
|
|
If i3 is installed in a non-standard prefix, point it to the right location using:
|
|
|
|
|
|
|
|
```
|
|
|
|
CFLAGS="-I/weird/i3/path/include/" ../configure
|
|
|
|
CFLAGS="-I/weird/i3/path/include/" make
|
|
|
|
```
|
|
|
|
|
2015-03-24 15:02:03 +00:00
|
|
|
## Options for make
|
|
|
|
|
|
|
|
When you run make you can tweak the build process a little.
|
|
|
|
|
|
|
|
### Verbose output
|
|
|
|
|
|
|
|
Show the commands called:
|
|
|
|
|
|
|
|
```
|
|
|
|
make V=1
|
|
|
|
```
|
|
|
|
|
|
|
|
### Debug build
|
|
|
|
|
|
|
|
Compile with debug symbols and no optimization
|
|
|
|
|
|
|
|
```
|
|
|
|
make CFLAGS="-O0 -g3" clean rofi
|
|
|
|
```
|
|
|
|
|
2015-03-28 16:04:34 +00:00
|
|
|
### Get a backtrace
|
|
|
|
|
|
|
|
Getting a backtrace using GDB is not very handy. Because if rofi get stuck, it grabs keyboard and
|
|
|
|
mouse. So if it crashes in GDB you are stuck.
|
|
|
|
The best way to go is to enable core file. (ulimit -c unlimited in bash) then make rofi crash. You
|
|
|
|
can then load the core in GDB.
|
|
|
|
|
|
|
|
```
|
|
|
|
gdb rofi core
|
|
|
|
```
|
2015-10-25 12:54:41 +00:00
|
|
|
|
|
|
|
## Install distribution
|
|
|
|
|
|
|
|
### Debian or Ubuntu
|
|
|
|
|
|
|
|
```
|
|
|
|
apt-get install rofi
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
### Fedora
|
|
|
|
|
|
|
|
rofi from [russianfedora repository](http://ru.fedoracommunity.org/repository)
|
|
|
|
and also
|
2015-10-25 13:51:56 +00:00
|
|
|
Copr (Cool Other Package Repo) https://copr.fedoraproject.org/coprs/region51/rofi/
|
2015-10-25 12:54:41 +00:00
|
|
|
|