X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=docs%2Fuserguide;h=96b369024d40a7c2eeb98554cf469aae98f4d614;hb=8a608ee63a2c7d791211e86c98a3f7c13f905d79;hp=e752ec82f197a95e5bf3dff32c1759d5370ec095;hpb=cc09348414472e68287ab918df57158552146f72;p=i3%2Fi3 diff --git a/docs/userguide b/docs/userguide index e752ec82..96b36902 100644 --- a/docs/userguide +++ b/docs/userguide @@ -91,7 +91,7 @@ To display a window in fullscreen mode or to go out of fullscreen mode again, press +$mod+f+. There is also a global fullscreen mode in i3 in which the client will span all -available outputs (the command is +fullscreen global+). +available outputs (the command is +fullscreen toggle global+). === Opening other applications @@ -256,8 +256,9 @@ workspace node’s orientation will be changed to +vertical+. The terminal windo you moved down is directly attached to the workspace and appears on the bottom of the screen. A new (horizontal) container was created to accommodate the other two terminal windows. You will notice this when switching to tabbed mode -(for example). You would end up having one tab called "another container" and -the other one being the terminal window you moved down. +(for example). You would end up having one tab with a representation of the split +container (e.g., "H[urxvt firefox]") and the other one being the terminal window +you moved down. [[configuring]] == Configuring i3 @@ -367,7 +368,7 @@ bindcode [--release] [Modifiers+]keycode command *Examples*: -------------------------------- # Fullscreen -bindsym $mod+f fullscreen +bindsym $mod+f fullscreen toggle # Restart bindsym $mod+Shift+r restart @@ -404,20 +405,24 @@ can configure mouse bindings in a similar way to key bindings. *Syntax*: ---------------------------------- -bindsym [Modifiers+]button[n] command +bindsym [--release] [--border] [--whole-window] [Modifiers+]button[n] command ---------------------------------- -If the binding has no modifiers, it will only run when you click on the -titlebar of the window. Otherwise, it will run when any part of the window is -clicked. +By default, the binding will only run when you click on the titlebar of the +window. If the +--release+ flag is given, it will run when the mouse button +is released. + +If the +--whole-window+ flag is given, the binding will also run when any part +of the window is clicked, with the exception of the border. To have a bind run +when the border is clicked, specify the +--border+ flag. *Examples*: -------------------------------- # The middle button over a titlebar kills the window -bindsym button2 kill +bindsym --release button2 kill # The middle button and a modifer over any part of the window kills the window -bindsym $mod+button2 kill +bindsym --whole-window $mod+button2 kill # The right button toggles floating bindsym button3 floating toggle @@ -588,6 +593,27 @@ for_window [title="x200: ~/work"] floating enable The valid criteria are the same as those for commands, see <>. +=== Don't focus window upon opening + +[[no_focus]] + +When a new window appears, it will be focused. The +no_focus+ directive allows preventing +this from happening and can be used in combination with <>. + +Note that this does not apply to all cases, e.g., when feeding data into a running application +causing it to request being focused. To configure the behavior in such cases, refer to +<>. + +*Syntax*: +------------------- +no_focus +------------------- + +*Example*: +------------------------------- +no_focus [window_role="pop-up"] +------------------------------- + === Variables As you learned in the section about keyboard bindings, you will have @@ -980,6 +1006,51 @@ force_display_urgency_hint ms force_display_urgency_hint 500 ms --------------------------------- +=== Focus on window activation + +[[focus_on_window_activation]] + +If a window is activated, e.g., via +google-chrome www.google.com+, it may request +to take focus. Since this may not preferable, different reactions can be configured. + +Note that this may not affect windows that are being opened. To prevent new windows +from being focused, see <>. + +*Syntax*: +---------------------------------------------------- +focus_on_window_activation +---------------------------------------------------- + +The different modes will act as follows: + +smart:: + This is the default behavior. If the window requesting focus is on an active + workspace, it will receive the focus. Otherwise, the urgency hint will be set. +urgent:: + The window will always be marked urgent, but the focus will not be stolen. +focus:: + The window will always be focused and not be marked urgent. +none:: + The window will neither be focused, nor be marked urgent. + +=== Drawing marks on window decoration + +If activated, marks on windows are drawn in their window decoration. However, +any mark starting with an underscore in its name (+_+) will not be drawn even if +this option is activated. + +The default for this option is +yes+. + +*Syntax*: +------------------- +show_marks [yes|no] +------------------- + +*Example*: +-------------- +show_marks yes +-------------- + == Configuring i3bar The bar at the bottom of your monitor is drawn by a separate process called @@ -1248,6 +1319,23 @@ bar { } -------------------------------------------------------------- +=== Custom separator symbol + +Specifies a custom symbol to be used for the separator as opposed to the vertical, +one pixel thick separator. + +*Syntax*: +------------------------- +separator_symbol +------------------------- + +*Example*: +------------------------ +bar { + separator_symbol ":|:" +} +------------------------ + === Workspace buttons Specifies whether workspace buttons should be shown or not. This is useful if @@ -1502,9 +1590,13 @@ Use +layout toggle split+, +layout stacking+, +layout tabbed+, +layout splitv+ or +layout splith+ to change the current container layout to splith/splitv, stacking, tabbed layout, splitv or splith, respectively. -To make the current window (!) fullscreen, use +fullscreen+, to make -it floating (or tiling again) use +floating enable+ respectively +floating disable+ -(or +floating toggle+): +To make the current window (!) fullscreen, use +fullscreen enable+ (or ++fullscreen enable global+ for the global mode), to leave either fullscreen +mode use +fullscreen disable+, and to toggle between these two states use ++fullscreen toggle+ (or +fullscreen toggle global+). + +Likewise, to make the current window floating (or tiling again) use +floating +enable+ respectively +floating disable+ (or +floating toggle+): *Syntax*: -------------- @@ -1525,7 +1617,7 @@ bindsym $mod+x layout toggle bindsym $mod+x layout toggle all # Toggle fullscreen -bindsym $mod+f fullscreen +bindsym $mod+f fullscreen toggle # Toggle floating/tiling bindsym $mod+t floating toggle @@ -1620,6 +1712,10 @@ container to the next/previous workspace and +move container to workspace curren See <> for how to move a container/workspace to a different RandR output. +Workspace names are parsed as +https://developer.gnome.org/pango/stable/PangoMarkupFormat.html[Pango markup] +by i3bar. + [[back_and_forth]] To switch back to the previously focused workspace, use +workspace back_and_forth+; likewise, you can move containers to the previously focused @@ -1641,6 +1737,7 @@ move [window|container] [to] workspace ------------------------- bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3:vim ... bindsym $mod+Shift+1 move container to workspace 1 @@ -1829,9 +1926,15 @@ window, you cannot simply bind it to a key. +i3-input+ is a tool created for this purpose: It lets you input a command and sends the command to i3. It can also prefix this command and display a custom prompt for the input dialog. +The additional +--toggle+ option will remove the mark if the window already has +this mark, add it if the window has none or replace the current mark if it has +another mark. + +Refer to +show_marks+ if you don't want marks to be shown in the window decoration. + *Syntax*: ------------------------------ -mark identifier +mark [--toggle] identifier [con_mark="identifier"] focus unmark identifier ------------------------------ @@ -2001,6 +2104,27 @@ bindsym $mod+minus scratchpad show bindsym mod4+s [title="^Sup ::"] scratchpad show ------------------------------------------------ +=== Nop + +There is a no operation command +nop+ which allows you to override default +behavior. This can be useful for, e.g., disabling a focus change on clicks with +the middle mouse button. + +The optional +comment+ argument is ignored, but will be printed to the log file +for debugging purposes. + +*Syntax*: +--------------- +nop [] +--------------- + +*Example*: +---------------------------------------------- +# Disable focus change for clicks on titlebars +# with the middle mouse button +bindsym button2 nop +---------------------------------------------- + === i3bar control There are two options in the configuration of each i3bar instance that can be