I3: Difference between revisions

From wikinotes
Line 56: Line 56:
</blockquote><!-- i3-msg (IPC) -->
</blockquote><!-- i3-msg (IPC) -->
</blockquote><!-- Usage -->
</blockquote><!-- Usage -->
= GTK/Qt Themes =
<blockquote>
See [[Linux Themes]].
</blockquote><!-- themes -->


= Extensions =
= Extensions =

Revision as of 21:51, 6 August 2021

i3 is a tiling window manager for xorg


Documentation

user guide https://i3wm.org/docs/userguide.html
homepage https://i3wm.org/docs/
IPC documentation https://i3wm.org/docs/ipc

Locations

Configs
~/.i3/config Main Config File
~/.i3blocks.conf i3Blocks (statusbar) config

Notes

i3 install
i3 configuration
i3 usage

Usage

i3-msg (IPC)

After choosing a location for i3's IPC socket, you can communicate with it using the commandline utility i3-msg.

See the exceptionally helpful man page for more information on commands.

i3-msg -t get_workspaces  # list workspace info, active, etc.
i3-msg -t get_outputs     # list monitors, active, etc.
ie-msg restart            # issue i3 commands over IPC

Extensions

extensions
i3blocks menubar for i3, similar to xmobar/dzen
libraries
i3ipc https://github.com/acrisci/i3ipc-python/tree/master/examples

Tips/Tricks

Hiding Mouse

Having the mouse in the middle of the screen gets annoying. Originally I solved this by using xdotool, but due to it's interference when using controllers in games, I switched to a much cleaner solution unclutter.

### xdotool method (old)
# DESC: for every window-operation, move the mouse to the bottom of the display
#
bindsym		$mod+h				focus left     ;exec "xdotool mousemove_relative --sync 0 1000"
### unclutter method (new)
#
#
unclutter -idle 5

10 workspaces per-monitor

I was able to do this by leveraging python python-xlib, parxing xrandr output, and issuing commands to i3-msg (in reality, to the i3 ipc-socket).

References
https://github.com/xevz/dotfiles/blob/master/.i3/config.base
https://www.reddit.com/r/i3wm/comments/36diri/can_i_alter_the_multimonitor_behaivour/

window border colour

#                     {bg color}
client.focused #859900 #859900 #fdf6e3 #859900