aboutsummaryrefslogtreecommitdiff
path: root/content/blog/miscellaneous/i3dropdown.md
blob: 31c0a5290f15588503da2632e3ee17515d97dc5f (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
---
title: "i3dropdown"
date: 2020-01-23
description: How to use i3dropdown to pump up your graphical environment
tags:
  - linux
  - toolbox
---

## Introduction

i3dropdown is a tool to make any X application drop down from the top of the screen, in the famous quake console style back in the day.

## Compilation

First of all, you have get i3dropdown and compile it. It does not have any dependencies so it is really easy :
```sh
git clone https://gitlab.com/exrok/i3dropdown
cd i3dropdown
make
cp build/i3dropdown ~/bin/
```

## i3 configuration

Here is a working example of the pavucontrol app, a volume mixer I use :
```cfg
exec --no-startup-id i3 --get-socketpath > /tmp/i3wm-socket-path
for_window [instance="^pavucontrol"] floating enable
bindsym Mod4+shift+p exec /home/julien/bin/i3dropdown -W 90 -H 50 pavucontrol pavucontrol-qt
```

To work properly, i3dropdown needs to have the path to the i3 socket. Because the command to get the socketpath from i3 is a little slow, it is best to cache it somewhere. By default
i3dropdown recognises `/tmp/i3wm-socket-path`. Then each window managed by i3dropdown needs to be floating. The last line bind a key to invoke or mask the app.