r/i3wm • u/thestoiccoder • 3h ago
r/i3wm • u/airblader • Sep 10 '21
[PSA] We're moving to GitHub Discussions!
Hello everyone,
TL;DR The official i3 support channel is moving from Reddit to GitHub Discussions. This subreddit will continue to exist, but no longer be an official channel.
A long time ago, we hosted an AskBot instance as the official web channel for i3 support, next to, of course, the mailing list and IRC. However, after some deliberation we decided to shut down AskBot and move to this subreddit instead whose owners graciously allowed us to "take it over". But, alas, Reddit comes with many challenges as well (like the fact that it's heavily gating unregistered users on mobile, but also from a functional perspective). It just never turned out to be what we were hoping to find. Nowadays, however, there is GitHub Discussions; back when we moved away from AskBot, this didn't exist, but is now more or less exactly what we had been looking for back then. Obviously it's also a big plus that GitHub is already the home of i3 itself with bug reports and feature requests.
That is why we have decided to move the official support channel from this Subreddit to GitHub Discussions. Of course we will not shut down this Subreddit, but it will be a completely independent community from now on.
On a slight personal note, the timing for this change suits me quite well and after having resigned from active moderation some three years ago, I will now be stepping away from Reddit entirely.
See you all over at Discussions!
r/i3wm • u/orestisf • Jun 19 '23
Poll The future of /r/i3wm
Hello folks,
As you probably know, reddit is going through some very unpopular changes: https://www.reddit.com/r/ModCoord/comments/148ks6u/indefinite_blackout_next_steps_polling_your/
Even though, we have moved the official i3 support channel to GitHub discussions, i3's biggest community is still on reddit and if things continue like that there is going to be a lot of helpful content on an increasingly closed platform.
Since /r/i3wm is a community platform, we would like for the community to decide this subreddit's future. I am creating two polls for this: 1. The short-term future of the community, should we make this subreddit read-only or private until June 30th: https://www.reddit.com/r/i3wm/comments/14d5yvh/the_shortterm_future_of_the_community_should_we/ (shorter duration as more imminent) 2. (This post) The long-term future of this community, if the API changes are not reversed, should we leave this subreddit indefinitely in read-only mode?
We are not considering going private for the long-term because this subreddit holds significant knowledge that is valuable to the community.
If we go read-only in the long term, I expect that most of new questions & content will move to Github discussions.
r/i3wm • u/nonreligious2 • 19h ago
Question Discrepancy between volume level from `volumeicon` vs level from `pactl`/`amixer`
I run i3wm as my window manager and I use the volumeicon program to control and display the audio volume.
For a number of reasons, I have a script which I use to increase or decrease the volume via dedicated keybindings. The script also displays the volume level after the change, using dunst/notify-send.
However, I find there is a difference between the volume level given by e.g.
pactl get-sink-volume @DEFAULT_SINK@
and the volume displayed when I hover over the volumeicon icon, or adjust its slider using a mouse.
I'd like to know why this is, as I'd like to match the volume displayed by my script to be consistent with that displayed by volumeicon.
From perusing the volumeicon source, my best guess is that it uses its own mapping from the raw volume levels to the interval [0,1] or [0%,100%] to better match the perception of a human ear:
* The mapping is designed so that the position in the interval is proportional
* to the volume as a human ear would perceive it (i.e., the position is the
* cubic root of the linear sample multiplication factor). For controls with
* a small range (24 dB or less), the mapping is linear in the dB values so
* that each step has the same size visually. Only for controls without dB
* information, a linear mapping of the hardware volume register values is used
* (this is the same algorithm as used in the old alsamixer).
*
* When setting the volume, 'dir' is the rounding direction:
* -1/0/1 = down/nearest/up.
&nbps;
Is this right? I.e. to match the volumeicon value, I would have to copy their mapping formula?
r/i3wm • u/whistler_mat • 3d ago
Question How to make my First rice?
Hello, i want to make a rice wich Will have:
A transparent blur (glassy) terminal Windows (terminal emulator Will be ghostty),
a top bar with the time in the center, desktop Numbers on left, a stuff like RAM: X% and volume and wifi icons on the right
Just this, do you Guys know How i can make? Im really layman on ricing.
r/i3wm • u/xavirt30 • 4d ago
Question Is it good for gaming?
Is i3wm good for playing videogames like rdr2, hk… i’m going to be using it on arch in a laptop with nvidia.
Thanks
r/i3wm • u/Life-Smile9397 • 5d ago
Question resizing window with picom running spikes cpu usage
I am on i3wm, using the default picom fork, and using nvidia open drivers on an rtx3060. while picom is running, with any settings (as far as i can tell) resizing a window spikes my cpu usage by a seriously significant amount and causes extreme lag. without picom this is fixed but i would like to keep it if possible, or if someone can recommend another compositor with blur, drop shadow, and vsync that could fix this issue that would work too. as long as it doesnt break my workflow im willing to switch to something new.
r/i3wm • u/Beneficial-Ad-7349 • 5d ago
Question Que shell me recomienda para i3?
Alguna shell así como noctalia que me funcione en i3?
r/i3wm • u/Mountain_Warthog_953 • 6d ago
OC I3bar like polybar setup
This is my first time customizing i3.
I wanted make my i3 setup look more modern, but polybars defaults looked ugly and not very legible.
I changed some of the configs so that now it looks like a modernized version of i3bar.
r/i3wm • u/burik666 • 6d ago
OC I wanted to add image support to my i3 fork, but ended up opening a PR
I originally wanted to add image support to i3bar in my own fork, mostly for personal use. I wanted to display CPU and RAM usage graphs directly in the bar.
After looking into it, the implementation turned out to be pretty simple, so I decided to submit a PR instead of maintaining a separate fork just for this feature.
The PR adds support for PNG images in i3bar status blocks. I also included a small demo script that shows CPU and RAM usage graphs.
And yes, PR #6660 happens to match my username pretty well. Couldn't have planned that better.
PR: https://github.com/i3/i3/pull/6660
The PR is still open, so feedback is welcome!
Would be interesting to see what others could do with this.
r/i3wm • u/lavalava3gp • 7d ago
Question How to set an wallpaper at my laptop
Sorry for my English, I need guide, how to set up wallpaper at the back of the terminal and work space. Like in the second pic. (Arch,xorg,i3)
r/i3wm • u/maarcellop • 9d ago
OC Omaxian v1.0.0 is out!
Omarchy's desktop shell, running on X11 + i3 + Debian/Devuan. No Wayland. No Hyprland. No systemd.
It's been my daily driver for weeks. Here it is with a few community plugins ported over.
r/i3wm • u/morning-sheep • 9d ago
Question Basic Keyboard shortcuts stopped working in i3wm after upgrading to Ubuntu 26.04.1 LTS form 24 LTS.
Upon updating my Ubuntu system from 24 LTS to 26 LTS. The basic shortcuts that are built in for the laptop stopped working, for example my sound buttons for mute, volume up and volume up, don't work as they used to super F11 or super F12.
Does anyone know how I can fix this. If I do either of those combinations inside Ubuntu, they work fine. However that's not the case when I do them i3. They worked fine before.
r/i3wm • u/kleponbakar69 • 12d ago
OC new rice
my new setup (linux mint xfce + i3wm)
r/i3wm • u/stolen_lighter_ • 13d ago
OC A minimal, zero-dependency autotiling daemon I wrote in C (~36 KB RAM)
Hello guys,
I am really excited to share my take on an autotiling daemon for i3. I wanted something as lightweight as possible, so I wrote it in pure C.
Features:
- Zero Dependencies: It uses native Unix sockets and doesn't require Python, JSON libraries, or any external runtimes.
- Extremely Lightweight: It is compiled as a static binary and uses a maximum of ~36 KB of RAM when active (and even less when idle). It is what I am currently using on my own machines.
It does not work on sway.
I made it as minimal as I could and I am really proud of it, but I would love to hear your opinions/feedback. Please excuse me if I have made any mistakes in how I am distributing it, this is the first open-source project I am publishing, so every comment (good or bad) is highly appreciated.
It doesn't have any configuration options yet, but if you guys are interested, I can try and add more modes.
You can find it here: https://github.com/stolen-lighter/i3-autotiling-c
r/i3wm • u/allanrps • 17d ago
OC I ❤️ i3wm
romhacking with mGBA in Termux on Z Fold 6
r/i3wm • u/Ok-Rice-7522 • 16d ago
OC Tiling Window Managers: Tested and heavily optimized for bspwm. It should also work flawlessly on other X11 tiling/stacking WMs like i3wm, awesomewm, qtile, dwm, or Openbox.
r/i3wm • u/masterpiece_911 • 16d ago
OC Follow-up on Layouter: Firefox windows and tabs can now be part of your layout
So I posted here recently about Layouter, my tool for recreating an i3/sway workspace from a declarative TOML or React layout. One of the main criticisms of the original post was how browser windows and tabs fit into this. Fair point, since getting those where they belong is a pretty big part of recreating a development setup. I've since been working on that.
Launching Firefox with a few URLs is easy enough. The tricky part is running the same layout again later. Which window belongs to which project? Is that documentation tab still there, even though you've followed a few links? What happens after restarting the browser?
i3 can tell me about the window, but it can't tell me which tabs belong to my workflow. Kitty has a remote control interface for this kind of thing, which is why Layouter can manage its tabs and panes. For Firefox, I added a companion extension.
You can now declare browser windows and their tabs alongside your terminals and other apps. In a React workflow, that part looks like this:
```jsx
<Workspace number={3}>
<FirefoxWindow name="docs" executable="firefox">
<FirefoxTab
name="mdn"
url="https://developer.mozilla.org/"
pinned
/>
<FirefoxTab
name="project"
url="http://localhost:3000/"
active
/>
</FirefoxWindow>
</Workspace>
```
The same thing is available in TOML.
As with the rest of Layouter, running your workflow again only creates what is missing. If you've navigated away from MDN, that is still your documentation tab. It won't send you back to the homepage just because you ran the command again. Tabs you opened yourself stay there, and removing a tab from your layout doesn't close it.
If you explicitly use --sync, Layouter also restores the declared tab order, pinning and active tab. If a managed tab has navigated elsewhere, it leaves that tab open and creates a new one at the declared URL. I don't want restoring my setup to destroy whatever I was doing in it.
Roughly, the implementation has three pieces. The extension attaches identities to windows and tabs using Firefox's session APIs, so they can survive normal browser session restoration. Firefox starts a small Python native messaging host, which exposes a local Unix socket. The Layouter CLI talks to that socket when you invoke a workflow.
There is a little extra plumbing to connect those browser identities to i3/sway windows. When needed, the extension temporarily adds a random prefix to a window's title. Layouter finds that exact window in the compositor tree, marks it, and clears the prefix again. For initially finding the right browser instance/profile, it launches a unique localhost URL through your configured browser command and checks which companion received it.
The browser-sensitive work stays inside the extension. Layouter sends in the URLs from your workflow, but current tab URLs, page titles and browsing history don't come back out. URL comparisons for --sync happen inside Firefox.
The companion also doesn't continuously enforce your layout. Close a tab and it stays closed until you invoke Layouter again. There's a small toolbar badge to show whether the current tab is managed, so you can tell what belongs to the workflow.
This gets me closer to describing the whole development setup in one place, including the browser part I would otherwise still arrange by hand.
Code and documentation are on GitHub. I'm interested in how other people handle this, especially if you regularly have several browser windows belonging to different projects.
Have a good day!
r/i3wm • u/ConversationAware695 • 17d ago
OC I love i3!
I’m a complete linux beginner on mint. Hated Cinnamon so I tried i3 and it is the best computing experience I have ever experienced. It is as beginner friendly as the amount of youtube tutorials you watch and as long as you know the very basics of computing and file paths, it is super simple to set up. Couldn’t recommend it more!
r/i3wm • u/Consistent-War2577 • 18d ago
Solved Debian 13 with i3 install script
https://github.com/sathanas65/deb13-i3/
Shell scripts and dot files for custom Debian 13 with the i3 tiling window manager. Efficient and highly scripted workflow. Extremely organized key chords. Dark theme with just the right amount of color. Modular install script. Pre-configured apps. Perfect for development. production, virtualization. Keep your hands on the keyboard.

