Nice to have such clear remarks from a new  (power)user.

I just wanted to add some clarifications/coments.

On 14/10/15 08:13, Michael Stapelberg wrote:
Thanks for writing this up. Answers inline.

On Wed, Oct 14, 2015 at 1:08 AM, Frederik Eaton < <>> wrote:

    Hello All!

    I just switched from Notion to i3 about a month ago. In general it's
    been a positive experience, I especially appreciate the smaller
    configuration file, the more sensible default bindings, the ability to
    put windows in a tree (if that's the correct word).

    After settling in, I made a quick list of some issues I ran into and
    wanted to report back to the developers.

    - As a user of the Dvorak keyboard layout, I was confused by the
      result of running i3-config-wizard. I can see how h,t,n,s could be
      used for navigation, but many of the remaining key bindings don't
      make sense - why should 'd' split horizontally, or 'p' restart? This
      wasn't really explained to me through the process of installing and
      trying out the software. I ended up having to revert most of the
      bindings to the Qwerty defaults. I think the wizard made things more
      difficult in the end.

The key _positions_ make some sense, the key mnemonics likely don’t. I don’t think this is a big problem, as users are very likely to change their config file anyway. Also, you’re free to use/not use the wizard as you see fit — for most users, using the wizard seems to be the best solution, which is why it’s started by default.
It is always difficult to mix the key positions and values and to pipck reasonable defaults. On azerty, I want to use hjkl for navigation, but then h is no more available for "horizontal split".

Also, it is easier to have the same bindings on all installations, even if misplaced. This way, the tutorials can assume that the users all have Mod+p for restart. If you are experienced enough to change the default bindings, then you are experienced enough to transpose the tutorials :-)

As usual, ideas on improving the bindings are welcome.

    - Coming from Notion, I would have expected the default window layout
      to be tabbed. At first I thought that i3 didn't support a tabbed
      layout, because when I first started it (with killall notion; i3), I
      ended up with 10 unusably-narrow windows. I still don't know how to
      make tabbing the default - when I open windows on a new workspace,
      they always come up split. If I kill and restart i3, then everything
      comes up split (and uselessly narrow).

Does “workspace_layout tabbed” do what you want?
Also, killing then starting i3 is not a common operation.
You might prefer reload and/or restart as they preserve the layout.

    - I had to ask the IRC channel for the name of the key binding to turn
      a dialog box into a window - perhaps the documentation should be
      improved so new users can avoid this hurdle (e.g. under TERMINOLOGY
      in the man page, there could be an entry explaining that a "Floating
      Window" is something like a dialog box).

Can you please send a pull request for which adds an explanation where you think it makes sense?

    - Even after learning the "floating toggle" binding it sometimes
      becomes annoying or confusing to have to press it each time - for
      instance if I have to print a lot of stuff in Firefox, but I
      sometimes want to navigate to other windows when the print dialog is
      open. I also sometimes accidentally turn Firefox into a floating
      window when I'm doing this, and then I wonder where all the other
      windows went.... I would appreciate an option to have dialogs always
      come up as windows by default.

If the print dialog is clearly meant to be floating, Firefox should set the appropriate window hints. Since you describe you have to manually make it floating, apparently Firefox doesn’t. You should file a Firefox bug, but you can work around this with a for_window rule, see
i3 tries to be smart about which windows to keep floating.
Basically, every window that specifically asks to be floating is kept floating.

If you want a drastic solution, add

for_window [title=".*"] floating disable

My config tends to add floating windows :

for_window [title="Oz Browser"]       floating enable
for_window [title="Super Hexagon"]    floating enable
for_window [title="^SpaceChem$"]      floating enable
for_window [class="Gnuplot"]          floating enable
for_window [class="FLTK"]             floating enable
#for_window [class="Graphviz"]         floating enable
for_window [window_role="CallWindow"] floating enable

    - "focus right" is not always the reverse of "focus left". For
      instance, if the rightmost tab is split horizontally, then one
      command will cycle through all the windows, but the other will get
      stuck cycling through the children of the tab which has been split.
      Same with "focus up" and "focus down" in the stacking layout, when a
      child is split vertically. It seems it would be cleaner to have
      these pairs be strict opposites.

There are several places where the directional commands don’t strictly operate on the tree and hence focus left/right are not always direct opposites. We believe that bottomline, this makes it easier for users. Even if it didn’t make it easier for users, changing it now would be very disruptive to existing users, so I don’t think we can do much about it.

If you feel strongly, you might be able to implement your own logic using the IPC interface:
This works much like commant completion in zsh for example.
The right arrow cycles only on the last line of completions.

    - I like that "i3-nagbar" is available to display error messages, but
      I don't know how to close it with my keyboard... seems like I have
      to use my mouse to close it. I'd prefer to avoid the mouse...!

It’s designed to nag you, so this is working as intended :).

    Well, I hope this isn't too much stuff at once. I'm happy with i3 so
    even if you don't fix any of these problems, I'll still use it. As I
    mentioned above, I just wanted to report back since it's not always
    easy to anticipate how new users will experience a piece of software.

    Thanks for all your hard work in developing i3!

    Best wishes,


Best regards,

Reply via email to