Re: [i3] i3 new user experiences summary

2015-10-19 Thread frederik
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

2015-10-16 Thread Michael Stapelberg
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

2015-10-14 Thread Layus

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

2015-10-14 Thread Michael Stapelberg
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.


>
> - 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


[i3] i3 new user experiences summary

2015-10-13 Thread Frederik Eaton
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.

- 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).

- 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).

- 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.

- "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.

- 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...!


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