Re: [i3] i3 new user experiences summary
Thank you, Layus, by the way, for your reply. I did end up using for_window [title=".*"] floating disable and appreciated the other information. Frederick
Re: [i3] i3 new user experiences summary
Thanks for taking the time to follow up. I hope my reply makes things more clear. On Fri, Oct 16, 2015 at 11:33 AM,wrote: > Hi Michael, > > Thanks again for the great piece of software. > > I'm replying off-list because I didn't want to get into a public > I’m adding the list to CC again because I think the clarifications might be useful not only for you, but also for other people interested in the thread. I hope you don’t mind. > argument - at first I thought you were a troll, and then I saw that > you're the author of i3wm! :) Maybe I'm not realizing something about > my suggestions, but here is some more clarification in response to > your comments: > > (regarding i3-config-wizard) > > > 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. > > If I recall, the wizard runs (or offers to run) by default, and > doesn't explain what it's doing, so new Dvorak users don't have a > warning of why the config file bindings look so strange - nor do they > have any indication that another option is available for obtaining a > default config. I don't know why you say it seems to be the best > solution for most users - obviously, most users are Qwerty users, for > whom the config wizard does almost nothing, it just queries the user > for a modifier key, IIRC. > It asks for the modifier key and creates the config file. Both of that could be achieved by using “sed 's/$mod Mod1/$mod Mod4/g' /etc/i3/config > ~/.i3/config”, yes. The main point why the wizard starts by default is that the default config file has to use Mod1 (Alt by default) because there are computers which don’t have a physical Mod4 (Windows by default) key. We strongly want to encourage people to use Mod4 as a modifier, because that avoids clashes with key combinations that other software uses. At the same time, we cannot make the default config use Mod4, because then i3 would just not work on computers which lack the Windows key. > > I think we both understand the rationale of the config wizard: it > makes the navigation keys match up - but all the other keys become > wrong, which means that 95% (rough estimate) of the config file is > 13 lines out of 69 lines in the i3 default config are bindings that use keys whose positions typically change depending on the layout — that’s not even 20% :). Regardless of the numbers, I think it boils down to personal preference: i3 currently goes the route where the positions make some sense (navigation keys first and foremost, but also how the remaining keys are positioned). Some people might prefer the mnemonics to make sense. It’s impossible to please both crowds. > wrong. On my system, /etc/i3/config already has variable aliases for > the navigation keys, which seems like a much better solution (didn't > check whether this is part of the Arch package or your i3wm > distribution) > > set $up l > set $down k > set $left j > set $right semicolon > > Why would anyone not prefer to just have a copy of this file in ~/.i3/ > to start out with? > > I'm not sure but it seems like Layus was also agreeing with me in his > reply: "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 [sic] for restart." > > > Does “workspace_layout tabbed” do what you want? > > Yes, thank you! > > > Can you please send a pull request for https://github.com/i3/i3 > > which adds an explanation where you think it makes sense? > > I'm not familiar with git but I'll give you a human-readable patch. In > the i3 man page, after: > > Window > > An X11 window, like the Firefox browser window or a terminal > emulator. > > I would insert > > Floating Window > > A window which "floats" on top of other windows. This style is > used by i3 to display X11 windows with type "dialog", such as > the "Print" or "Open File" dialog boxes in many GUI > applications. Use of floating windows can be fine-tuned with > the for_window command (see HTML userguide). > > I think that should be more than enough - I originally became > frustrated when not finding the word "dialog" in the man page. I hope > the last sentence isn't out of place. If you want an actual patch for > that text, let me know. > https://github.com/i3/i3/commit/d56264e00185023d433a913ef468428d345a3c7a > > > > - 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
Re: [i3] i3 new user experiences summary
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 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
Re: [i3] i3 new user experiences summary
Thanks for writing this up. Answers inline. On Wed, Oct 14, 2015 at 1:08 AM, Frederik Eatonwrote: > 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. > > - 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? > > - 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 > > - "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 > > - 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