- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
135 lines
9.9 KiB
Plaintext
135 lines
9.9 KiB
Plaintext
Episode: 3735
|
|
Title: HPR3735: i3 Tiling Window Manager
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3735/hpr3735.mp3
|
|
Transcribed: 2025-10-25 04:47:51
|
|
|
|
---
|
|
|
|
This is Hacker Public Radio Episode 3,735 for Friday the 25th of November 2022.
|
|
Today's show is entitled, I Three Tilling Window Manager.
|
|
It is part of the series Lightweight Apps.
|
|
It is hosted by Archer 72 and is about 16 minutes long.
|
|
It carries a clean flag.
|
|
The summary is, I Three Tilling Window Manager with a bonus KD Plasma Integration.
|
|
Hello this is Archer 72 and in this episode I talk about my favorite Tiling Window Manager
|
|
I3.
|
|
First of all, what is a Tiling Window Manager?
|
|
From Wikipedia and computing, a Tiling Window Manager is a Window Manager with an organization
|
|
of the screen onto mutually non-overlapping frames, as opposed to more common approach
|
|
used by stacking Window Manager, managers of coordinate-based stacking of overlapping
|
|
objects, windows that tries to freely emulate the desktop metaphor.
|
|
All this may not be for everybody, it suits my style because you might say I'm a little
|
|
particular about having overlapping windows.
|
|
Even at work I tend to not like things overlapping in the windows environment.
|
|
I have been using I3 for a couple years at least and before this I tried out X-Monead,
|
|
which is written, configured, and extensible in Haskell.
|
|
Customer layout algorithms, key bindings, and other extensions may be written by the
|
|
user in the configuration files.
|
|
Layouts are applied dynamically in different layouts, may be used on each workspace.
|
|
X and Arama is supported allowing windows to be tiled in several physical screens.
|
|
On Wikipedia, X and Arama is an extension to the X window system that enables X applications
|
|
and Window Manager to use two or more physical displays as one large virtual display.
|
|
Developed under the name Panoramics by Madeleine T. Asmus of the Digital Equipment Corporation,
|
|
Unix X server engineering group, the softwares contributed to the open group for X11 release,
|
|
6.4, and renames in Arama.
|
|
It was then incorporated into the X-Free 86, 4.0 release in 1998, and Solaris 7, and
|
|
the Solaris 7 release.
|
|
According to the server project, LeadRob Lembrey, the name was inspired by the Sitter-Rama
|
|
widescreen theatre process.
|
|
Quote, we were frustrated by having big alpha machines with multiple displays and being
|
|
unable to move applications from one to another.
|
|
It was developed as much out of frustration as out of competitive advantage.
|
|
Some other window managers from the Archwicky include Awesome, VSPWM, EXWM, Herbs left WM,
|
|
Notion, Q-Tile, Rat Poison, Settle, and WMFS2.
|
|
From the Archwicky, I-3 is a dynamic, tiling window manager inspired by WMIL that is primarily
|
|
targeted at developers and advanced users.
|
|
The start stated goals for I-3 include clear documentation, proper multi-monitor support,
|
|
a tree structure for windows, and different modes like INVIM.
|
|
So let's talk about multi-monitor support since it just came up.
|
|
It's not something I normally use, but since it was in the documentation, I thought about
|
|
trying it out using X-Rander.
|
|
Here are two ways to find out the properties of your HDMI monitor.
|
|
First one is X-Rander-Q, pipe, grip, HDMI, and that will give you just the monitor name
|
|
and whether or not it's disconnected and what position it is between you and the laptop.
|
|
The next use is X-Rander-Q, pipe, grip, HDMI.
|
|
The dash dash prop flag gives you the supported modes, for example, BGA, DVID, and HDMI.
|
|
Plug this into a bash grip that if you select one for the multi-monitor, then it sends
|
|
a command of X-Rander-Q, dash dash output, HDMI, dash A, dash zero, dash dash auto, dash
|
|
dash left of EDP.
|
|
And the EDP is derived from the command X-Rander-Q, dash dash list monitors.
|
|
And to go back to a single monitor, just run the bash grip again and press two to turn
|
|
the external monitor off.
|
|
Now we can go into the config files.
|
|
There are actually two config files.
|
|
One is tilde slash dot config slash i3 slash config.
|
|
The second file is for the status bar and is located in slash Etsy slash i3status.conf.
|
|
The first thing in this configuration file that you're greeted with is a common out section
|
|
saying this file has been auto generated by i3-config dash wizard.
|
|
It will not be overridden so edit as you like.
|
|
You do change your keyboard layout sometime, delete this file and rerun i3-config dash wizard.
|
|
Please see and then it gives a URL to or a complete reference.
|
|
After this I set up several programs to start with i3 and the commands for this start
|
|
with EXEC.
|
|
The first thing I want to start is a compositor.
|
|
And it is started with the line EXEC dash dash no dash start up dash id space pycom space
|
|
dash dash damon.
|
|
And I start k2e connect with EXEC slash user slash bin slash k2e connect dash indicator.
|
|
And last I start the fiber messenger with EXEC space qt underscore scale underscore
|
|
factor equals 1.5 space slash opt slash fiber slash fiber without the cue scale factor
|
|
since my eyes are not as good and the writing is quite small that gets it to something
|
|
that's more readable and this can be done with any qt type apps.
|
|
Next I have two mod keys set up which is how you perform actions in i3.
|
|
The first is set space dollar sign mod space mod 4 and that's the meta key sometimes
|
|
known as the windows key and I have a second modifier for the alt key.
|
|
It is set with set space dollar sign mod 1 space capital mod 1.
|
|
The modifier is used with one or two key combinations for example to jump between my notes window
|
|
and the audio window I hit the meta key and j and then same key to jump back.
|
|
Another example of the modifier key is to open a web browser to go online with Firefox
|
|
I press mod o which is the meta key o or for opera mod plus shift plus o.
|
|
You can also assign a program to a workspace for example a sign space square bracket class
|
|
equals Firefox and square bracket space 2 puts Firefox when I open it with that key
|
|
combination I mentioned into the workspace 2 and I usually put my mod client for email
|
|
over a 9 so I assigned class I have to use a different terminal rocks term space 9 and
|
|
that puts it over in the workspace 9 and for my regular terminal I am using good
|
|
no terminal so you put by and sim space dollar sign mod plus return EXEC space no terminal
|
|
and that so that when I press the meta or modifier key and the return key that I get a terminal
|
|
by default a new window is side by side and to modify that you hit the meta key v and
|
|
the next window that opens is stacked vertically and so if I hit the modifier and enter say
|
|
another terminal then I get an equally spaced vertically stacked set of terminals and
|
|
my next example I will jump back to workspace 1 and I can use the mod j to jump I have it
|
|
in several configurations of horizontal and vertically spaced terminals and j will jump
|
|
horizontally between them and then if I have two stacked ones then I can use the mod k and
|
|
jump down to the next window in line I'm looking back through my notes and realized you might want
|
|
to have a background so I use fa which is fox trot echo hotel and you use EXEC underscore always space
|
|
fa space dash dash bg dash fill tell us slash pictures slash wallpapers and the name of the wall
|
|
paper you want to use then the mod key shift in our reloads the configuration and sets up that
|
|
wallpaper another useful command kills the focused window and that's fine sim space dollar sign
|
|
mod plus shift plus q space kill next you might want to take screenshots of your new desktop so I
|
|
use image magic and the command is bind sim dash dash release space shift plus print space
|
|
exec space import space pictures slash screenshots and then I have the date formatted so it automatically
|
|
formats the date and time done of the seconds dot png and I have something similar for capturing the
|
|
entire screen which is bind sim dash dash release space print space exec space import dash went space
|
|
dash window space root space pictures slash screenshots and the date code the last part of this
|
|
config file is to start ibar to display a workspace bar plus the system information i status finds out if
|
|
available and it is called out by bar space open curly bracket space status underscore command space i3
|
|
status space close curly brackets so now in etc slash i3 status dot com is the configuration file for
|
|
the status bar and it starts out as in a commented section this is i3 status configuration file c man i3
|
|
status for documentation is important that this file is edited as u tf eight the next several lines to
|
|
find which order you want things to appear on the bar from left to right such as memory disk the
|
|
wireless connection the volume battery status cpu load and time zone local the next section defines
|
|
displayed information and i'll do the one it reads volume space master space open curly bracket space
|
|
device space equals space and in quotation marks pulse colon zero space close curly bracket
|
|
so that's it for the config files with one exception there was a problem that i ran into
|
|
when i was just using i3 and mumble i would hit record when i want to do a session with somebody else
|
|
and then it wouldn't record for 30 seconds so i found out that i could run actually kde plasma and
|
|
i3 at the same time so i got the best of both worlds and i added that to my configuration file so i
|
|
can still do key bannings for i3 but i also have access to the menu to search for new programs that
|
|
i might look to check out or for other any other reason i need to access the menu i added a separate
|
|
i3 with kde plasma configuration file in the show notes that's it and thank you for listening
|
|
leave comments below and feel free to record a show of your own and bye
|
|
you have been listening to hacker public radio at hacker public radio does work today's show was
|
|
contributed by a hbr listener like yourself if you ever thought of recording podcast and click
|
|
on our contribute link to find out how easy it really is hosting for hbr has been kindly provided
|
|
by an honesthost.com the internet archive and our sings.net unless otherwise stated today's show
|
|
is released on our creative commons attribution 4.0 international license
|