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 <frede...@ofb.net
<mailto:frede...@ofb.net>> 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 https://github.com/i3/i3 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
http://i3wm.org/docs/userguide.html#_arbitrary_commands_for_specific_windows_for_window
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: http://i3wm.org/docs/ipc.html
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,
Frederik
--
Best regards,
Michael
--
Regards,
Guillaume.