Commit Graph

269 Commits

Author SHA1 Message Date
Michael Stapelberg 66a1fa7d46 Merge pull request #1638 from hwangcc23/fix-1489
Add a timeout: delay_exit_on_zero_displays
2015-05-05 00:43:43 -07:00
Michael Stapelberg 95f3f7f8c9 userguide: quoted strings need to be used, escaping isn’t possible
fixes #1678
2015-05-03 18:57:05 +02:00
Michael Stapelberg 57ddd00814 userguide: add a note to both “exec”s about semicolon and comma
fixes #1678
2015-04-24 18:46:42 +02:00
Michael Stapelberg 67ec2333ee Merge pull request #1665 from Airblader/feature-1658
Added criterion 'window_type'
2015-04-21 08:42:16 +02:00
Ingo Bürk 550c0ec318 Implement new criterion 'window_type = normal|dialog|utility|toolbar|splash|menu|dropdown_menu|popup_menu|tooltip'
fixes #1658
2015-04-20 19:27:39 +02:00
Ingo Bürk 9613a0744d Added configuration directive for 'move [container|window] [to] mark <str>' 2015-04-19 20:57:44 +02:00
Michael Stapelberg 8a608ee63a Merge pull request #1632 from Deiz/binding-border
Add a --border flag to enable mouse binds to trigger on border click
2015-04-19 09:28:08 -07:00
hwangcc 2c77d7ceed Add a timeout: delay_exit_on_zero_displays
Outputs may disappear momentarily and come back later.
To prevent i3 from exit when no output is available momentarily, add a timeout delay_exit_on_zero_displays.
2015-04-11 22:13:10 +08:00
Ingo Bürk 40b9048102 Use a reasonable default sep_block_width if a separator_symbol is given 2015-04-06 15:43:47 +02:00
Ingo Bürk a952ae74f4 Use a reasonable default sep_block_width if a separator_symbol is given 2015-04-03 22:54:59 +02:00
Deiz 601043cbf3 Update userguide for --border 2015-04-02 16:43:54 -04:00
Ingo Bürk 5d8dfe0ec5 Update docs to clarify that split containers get a representation of their children in the decoration 2015-04-02 08:53:40 +02:00
Ingo Bürk 0788f43db7 Updates userguide for 'no_focus <criteria>' (#1416) 2015-04-01 20:46:56 +02:00
Ingo Bürk 6036d4e506 Changed the default for show_marks from "no" to "yes" 2015-03-30 23:11:50 +02:00
Ingo Bürk 245a29e233 Make show_marks configurable
Introduce a config directive "show_marks [yes|no]" to en- or disable drawing marks on window decorations.
To not change the look & feel of existing configurations, the default is "no".
2015-03-30 23:11:50 +02:00
Ingo Bürk 195acb4911 Updated userguide for the directive focus_on_window_activation introduced in #1426. 2015-03-30 22:10:06 +02:00
Ingo Bürk 47222ab261 Updated docs for #1463 2015-03-29 21:21:50 +02:00
Michael Stapelberg 00e86c4de4 Merge pull request #1580 from Airblader/feature-nop
Allow nop command without argument
2015-03-27 09:39:28 +01:00
Ingo Bürk e0332b6f07 Allow nop command without argument
fixes #1318
2015-03-27 09:29:16 +01:00
Ingo Bürk 80da100ac8 Add support for a custom separator symbol
This introduces a "separator_symbol" property for the i3bar configuration.
If set, the specified string will be used as a separator instead of a vertical line. Since it is an optional configuration, complete backwards compatibility is given.

fixes #1472
2015-03-25 21:38:55 +01:00
Tony Crisci e18e2b9f98 i3bar: use Pango markup
Parse text within workspace buttons and the i3bar statusline as Pango
markup. This lets people specify things like font weight, text color,
background color, font size, and font family in the text of i3bar.

fixes #1468
2015-02-12 14:45:34 -05:00
Tony Crisci c815fc798d Handle button release events
This enables the --release switch on mouse button bindings.
2015-02-10 17:46:02 -05:00
Tony Crisci 74b69d6d02 Add mouse binding pointer position configuration
Add the `--whole-window` switch for mouse bindings. This switch controls
what part of the container the pointer must be over to trigger a mouse
binding. The default is to only trigger mouse bindings over the
titlebars. With this switch, a mouse binding will be triggered over the
main part of the window as well.

This is a breaking change to the previous behavior, which would trigger
a mouse binding with a modifier over any part of the window.

fixes #1429
2015-01-31 21:29:48 +01:00
Mats e59a76e456 Extend the fullscreen command
Rather than just toggling the fullscreen modes, allow to set them
directly with:

    fullscreen enable|toggle [global]
    fullscreen disable

For compatibility, retain the previous command and its toggling behavior:

    fullscreen [global]

fixes #1120
2014-12-10 20:42:52 +01:00
Tony Crisci 8e23dc881b i3bar: implement custom mouse wheel commands
Users can specify a command to run when a button was pressed on i3bar to
override the default behavior. Currently only the mouse wheel buttons
are supported. This is useful for disabling the scroll wheel action or
running scripts that implement custom behavior for these buttons.

Example:

bar {
    wheel_up_cmd nop
    wheel_down_cmd exec ~/.i3/scripts/custom_wheel_down
}

fixes #1104
2014-07-10 22:40:12 +02:00
Tony Crisci 0df172fd05 Feature: implement mouse bindings
A configured mouse binding (for example `bindsym button3 kill`) runs
its command when the mouse button is pressed over parts of a container.

If the binding has no modifer, it will only run when the button is
clicked on the window titlebar.

Otherwise if the binding has a modifier, it will run over the titlebar
or any part of the contained window.

fixes #558
2014-06-19 12:28:54 +02:00
Tony Crisci f4a8253593 userguide: document exit confirmation dialog
In the section "Exiting i3", document the confirmation dialog (nagbar)
that will show when the user presses the default keys to exit in such a
way to hint that it is configurable.
2014-06-16 09:50:31 +02:00
Atte Peltomaki 62ea60ba42 Add configuration option for disabling mouse warping
This patch adds a new configuration option "mouse_warping [output|none]".

When mouse warping is disabled, mouse cursor does not jump to middle of current
screen when changing workspaces between multiple outputs. This introduces a
"special" cursor state, where focus is in one window and cursor on another.
Useful for eg. scrolling a web page with mouse wheel while typing into another
window on keyboard.
2014-05-31 14:55:29 +02:00
Tony Crisci e707e0a5fa i3bar: implement custom workspace numbers config
Implement the configuration option within the bar config directive for
custom workspace numbers with the directive `strip_workspace_numbers
yes`.

This directive strips the workspace name of the number prefix and
delimiter. When the workspace name consists only of the number, it will
default to show the number.

For example:

* "2:5" -> "5"
* "4:$" -> "$"
* "8" -> "8"

This allows customization of i3bar for alternate ordering of workspaces
which has a legitimate use for alternate keyboard layouts such as
Dvorak.

fixes #1131
2014-05-16 17:55:30 +02:00
Michael Stapelberg b69b3fc572 docs/userguide: fix default key binding (Thanks Maxime) 2014-05-08 08:45:30 +02:00
jeroentbt 85df107b0d docs: fix typo 2014-03-21 19:21:51 +01:00
jeroentbt c0589ad5be fix typo 2014-03-21 19:21:47 +01:00
Jonas Maaskola 1bd13ce555 Doc update: title right click resizes floating windows
This documentation update describes the change implemented in
905440d6d1
It avoids repetitive usage of the word 'also'.
2014-02-08 20:41:16 +01:00
Michael Stapelberg 7cf0c632c3 Merge branch 'master' into next 2014-01-23 22:20:39 +01:00
Wieland Hoffmann 658abe2e11 docs/userguide: change 'reseted' to 'reset'
It's an irregular verb.
2014-01-23 22:20:36 +01:00
Michael Stapelberg 35b70ca423 introduce client.placeholder color 2013-12-22 21:52:49 +01:00
Michael Stapelberg 665ac5b7c3 userguide: explain the difference between comma and semicolon for command chaining 2013-12-11 19:47:36 +01:00
Trung Ngo 3dba51500e Update userguide on multiple criteria
Change wording, add an example for multiple criteria and move
the sentence explaining the Firefox example into the code listing
block.
2013-11-10 19:55:45 +01:00
Alexander Neumann 4622fd8703 Correct typos in user guide 2013-10-19 10:05:10 +02:00
Alexander Neumann 7f9d2ac948 Add quoting for sample command
The user's guide talks about renaming workspaces, for example to
"2: mail", and a sample key binding for use with i3-input is supplied.
However, this example lacks proper quoting for the format string, so
that when workspace name with a space in it, like "2: mail", is given,
the current workspace is renamed to "2:". This patch adds proper
quoting.
2013-10-13 17:17:24 +02:00
syl20bnr 7098ef602b Add new bar.binding_mode_indicator configuration.
i3 current behavior hides the binding mode indicator when
workspace buttons are disabled.
This patch adds a new configuration for i3bar called
'binding_mode_indicator' which acts like the workspace_buttons.
It is now possible to configure i3bar to hide the
workspace buttons and keep showing the binding mode indicator.
This should make the hide workspace buttons configuration
more convenient for those who are heavily using binding
modes.
Default value for binding_mode_indicator is true.
2013-09-24 06:59:26 +02:00
James Baumgarten 4ff01e59ca Clarify userguide description of urgent_workspace configuration 2013-09-09 05:09:45 +02:00
Michael Stapelberg 3216cc79de Merge branch 'master' into next 2013-08-12 09:13:55 +02:00
Michael Stapelberg ee533a6ddc Fix userguide formatting (Thanks Slava) 2013-08-12 09:12:53 +02:00
syl20bnr 3be0b519c9 Update documentation paragraph on variables
see http://infra.in.zekjur.net/archives/i3-discuss/2013-August/001377.html
2013-08-08 22:42:15 +02:00
koebi 88671986f4 implement unmark command 2013-07-17 23:02:31 +02:00
Alexander Berntsen 023594909e Implement debuglog command
Add debuglog command that takes toggle|on|off. Add get_debug_logging()
to be able to toggle. Make t/187-commands-parser.t expect 'debuglog'.
Document the debuglog command in userguide.
2013-07-07 15:33:42 +02:00
Michael Stapelberg 71dfcbc674 userguide: improve the shmlog docs
• the section heading needs === instead of ==
• better title
• explain what shared memory logging does and where to find more
  information
• add syntax section
• improve examples
• clarify that shmlog <size> discards the current log
2013-06-23 22:10:42 +02:00
Alexander Berntsen f9d93d75b3 Implement shmlog command
Add shmlog command that takes <size>|toggle|on|off. Separate logbuffer
management into open_logbuffer() and close_logbuffer(). Make
t/187-commands-parser.t expect 'shmlog'. Add update_shmlog_atom() to
update the SHMLOG_PATH. Document the shmlog command in userguide.
2013-06-23 21:48:02 +02:00
haptix@web.de e3913093b6 introduced i3 command for changing the hidden state and the mode of i3bar
The hidden_state and mode of each i3bar instance can now be controlled from within i3.
Therefore, two new i3 command were introduced:
    _
    bar hidden_state show|hide|toggle [<bar_id>]

    show: always show the bar
    hide: normal hide mode
    toggle: toggle between show and hide (individually for each bar)
    _
    bar mode dock|hide|invisible|toggle [<bar_id>]

    hide,dock: like before
    invisible: always keep the bar hidden
    toggle: toggle between dock and hide (individually for each bar)

This patch introduces a hidden_state ("hidden_state hide|show") in the
barconfig, which indicates the current hidden_state of each i3bar
instance. It only affects the bar when in hide mode. Additionally, a new
invisible mode was introduced. In order to change the hidden_state or
mode of the bar from i3, a barconfig-update event was introduced, for
which a bar can subscribe and the bar then gets notified about the
currently set hidden_state and mode in its barconfig.

For convenience, an id field ("id <bar_id>") was added to the barconfig, where one can
set the desired id for the corresponding bar. If the id is not specified, i3 will
deterministically choose an id; otherwise, with the previous random approach for finding
a new id, which is actually not shared with i3bar, as it would determine its id on
startup, the event-subscription would be destroyed on reload. Still, this issue remains
when manually changing the bar_id in the config and then reloading.

fixes #833, #651
2013-05-25 23:00:36 +02:00
Eric S. Raymond d0fbc10aca Typo and usage fixes in documentation and comments. 2013-04-11 22:37:39 +02:00
Michael Stapelberg 82b59788ac userguide: mention forgotten layout splitv/splith (Thanks Eelis) 2013-03-30 13:03:35 +01:00
Artem Shinkarov 5f05ca6b5d Separator color via config; separator width and on/off via ipc
This patch adds the following features:
1) Configure a color of the separator via config.  It is done like
   bar {
      colors {
         separator #000000
      }
   }
2) A block can have an integer entry "separator_block_width" which
   sets the width of the gap which would follow after the current block.

3) A block can have a boolean entry "separator" and if it is set
   to false, then the drawing of the separating line would be disabled.
2013-02-18 10:44:44 +01:00
Michael Stapelberg 1e3075e69b userguide: remove obsolete sentence about client.background (Thanks Tucos) 2013-02-14 20:47:41 +01:00
Michael Stapelberg be287876d6 userguide: be explicit about assignment processing order (Thanks Donald) 2013-02-07 15:49:35 +01:00
Michael Stapelberg 3e59a8c949 Merge branch 'master' into next 2013-01-27 20:20:53 +01:00
Michael Stapelberg 8b97a5e159 userguide: be more clear about the resize command arguments (Thanks Tucos) 2013-01-27 20:20:37 +01:00
Michael Stapelberg d6e4910c22 userguide: fix typo: s/11x/11px/ 2012-12-26 18:32:13 +01:00
Michael Stapelberg 5b8df27270 userguide: s/mailclient/mail client/g (Thanks joepd) 2012-12-20 23:54:48 +01:00
Michael Stapelberg aa69b9fc5f userguide: document new_float option (like new_window) 2012-12-02 17:57:24 +01:00
Michael Stapelberg eaf13eace2 userguide: add section with synonym "screen" for "RandR output"
While the docs describe the feature, plenty of people ask for it on IRC.
Let’s see if this makes it easier to find.
2012-11-20 17:11:54 +01:00
Quentin Glidic f0d2d84b1c libi3/font: Use "pango:" prefix to avoid confusion
Also add a user-friendly font description syntax to userguide
2012-11-07 21:23:21 +01:00
Michael Walle ae14fe9141 introduce new command to rename focused workspace
The corresponding command is 'rename workspace to <name>'. As a side-effect
this fixes the command 'rename workspace 1 to to'.

Signed-off-by: Michael Walle <michael@walle.cc>
2012-10-31 09:09:56 +01:00
Conley Moorhous 7c94e32819 docs/userguide: s/alt/Alt/ 2012-10-25 17:08:20 +02:00
Michael Stapelberg 9b87b2c8ec Implement smart popup_during_fullscreen mode
With this commit, the default behavior is to display popups while there
is a fullscreen application only if the popup belongs to that
application (as determined by the WM_TRANSIENT_FOR hint which
applications have to set properly).

fixes #663
2012-10-24 20:54:28 +02:00
Michael Stapelberg 19fef3b4b8 docs/userguide: use $mod consistently (Thanks Conley) 2012-10-16 23:02:04 +02:00
Michael Stapelberg a2daf229fb userguide: document how to "un-scratchpad" a window (Thanks knopwob) 2012-09-28 18:03:36 +02:00
Yaroslav Molochko 04c58c7325 Implement variable border widths for pixel/normal
fixes #325
2012-09-24 22:20:29 +02:00
Pauli Ervi b41ab04ecd Userguide: Added link from 7.2 to 6.6
The multiple monitors section (7) is probably the most
likely place for someone to go look for how to move
workspaces between monitors (6.6).
2012-09-22 19:05:12 +02:00
Sebastian Ullrich 236f9f45e3 Make "[move] workspace number" accept a default ws name after the ws number 2012-09-22 14:34:05 +02:00
Simon Elsbrock 28104a480c implement delayed urgency hint reset
If there is a client with an urgency hint on another workspace and
switching to this workspace would cause the urgency to be reset (by
moving the focusing to the client), delay the reset by some time. This
gives the user the chance to see it.

This commit adds the possibility to configure the urgency delay timer
duration using the 'force_display_urgency_hint' directive. Also,
documentation and a testcase was added to allow for automated checks of
the intended behavior.

fixes #482
2012-09-22 14:12:09 +02:00
chrysn e15e37f922 fixes #776
this implements both the "move container to workspace back_and_forth" command
and movements to the same workspace when auto_back_and_forth is set.

it includes documentation and test suite additions by michael.

it also simplifies the workspace_show_by_name function (making use of
workspace_get accepting NULL pointers).
2012-09-22 13:35:31 +02:00
Michael Stapelberg 9febbe119a userguide: mention the FAQ 2012-09-19 17:30:44 +02:00
Michael Stapelberg c5db01e6f8 userguide: make moving cons/workspaces to other outputs its own section
Frequent requests for this functionality on IRC made me aware that it’s
not easily findable.
2012-09-19 17:13:00 +02:00
Michael Stapelberg 4186827386 docs/userguide: document the --release flag for key bindings 2012-09-06 17:31:30 +02:00
Michael Stapelberg b15dd83b26 docs/userguide: use --no-startup-id for executing shell scripts 2012-09-06 17:31:16 +02:00
Michael Stapelberg a598544b5a userguide: point out explicitly how to use startup-notifications 2012-09-05 21:10:26 +02:00
Cian 8202f04bf2 Make the initial mention of 'split h/v' a little easier to understand. 2012-08-31 00:16:58 +02:00
Quentin Glidic 6c9bf84d4e userguide: Update Fonts section for Pango support 2012-08-13 11:39:31 +02:00
Axel Wagner 57effd65b2 Make horizontal edge-borders hidable too 2012-08-06 03:03:00 +02:00
Iakov Davydov f27735f620 create hide_edge_borders option 2012-08-05 20:26:15 +02:00
Michael Stapelberg de94f6da1a Introduce splith/splitv layouts, remove orientation
With this commit, the "default" layout is replaced by the splith and
splitv layouts. splith is equivalent to default with orientation
horizontal and splitv is equivalent to default with orientation
vertical.

The "split h" and "split v" commands continue to work as before, they
split the current container and you will end up in a split container
with layout splith (after "split h") or splitv (after "split v").

To change a splith container into a splitv container, use either "layout
splitv" or "layout toggle split". The latter command is used in the
default config as mod+l (previously "layout default"). In case you have
"layout default" in your config file, it is recommended to just replace
it by "layout toggle split", which will work as "layout default" did
before when pressing it once, but toggle between horizontal/vertical
when pressing it repeatedly.

The rationale behind this commit is that it’s cleaner to have all
parameters that influence how windows are rendered in the layout itself
rather than having a special parameter in combination with only one
layout. This enables us to change existing split containers in all cases
without breaking existing features (see ticket #464). Also, users should
feel more confident about whether they are actually splitting or just
changing an existing split container now.

As a nice side-effect, this commit brings back the "layout toggle"
feature we once had in i3 version 3 (see the userguide).

AFAIK, it is safe to use in-place restart to upgrade into versions
after this commit (switching to an older version will break your layout,
though).

Fixes #464
2012-08-04 03:13:24 +02:00
Michael Stapelberg 23c28e5208 Merge branch 'master' into next 2012-06-24 17:30:45 +02:00
Michael Stapelberg 453cc68e40 add section about implicit containers to the userguide (Thanks mloskot) 2012-06-24 17:30:18 +02:00
Michael Stapelberg d4f8450ea9 Merge branch 'master' into next 2012-06-10 21:30:36 +02:00
Michael Stapelberg 1ad6eea4a8 userguide: make the default clear for focus_follows_mouse and new_window 2012-06-10 21:30:14 +02:00
Pavel Löbl 2afecaf355 Add a new command 'move to workspace current'
Added a new command 'move to workspace current' which can be used
with criteria to move a window to the current workspace.
2012-06-03 19:42:56 +02:00
Michael Stapelberg 373b4ad74a Implement 'rename workspace <old_name> to <new_name>' 2012-04-08 20:40:00 +02:00
Michael Stapelberg 72078c704e Implement 'workspace number <number>' to switch to named workspaces 2012-04-08 19:17:46 +02:00
Michael Stapelberg 2d110c90e6 Implement resize <grow|shrink> <width|height>, use it in the default config
Fixes: #576
2012-04-08 16:00:15 +02:00
Jose Pereira 9a58c1fcaa Added option to select primary display on tray_output 2012-04-05 14:42:07 +02:00
Pavel Löbl f78f137ed0 Extends move command for floating windows 2012-03-25 11:06:49 +02:00
Michael Stapelberg 2763a23cc7 userguide: add a hint to xev (Thanks toxios) 2012-03-22 13:10:36 +01:00
D Thompson 82146fcebf Implement support for user configuration of constraints on floating window dimensions. 2012-02-16 18:31:28 +00:00
Jeremy O'Brien 53541817ef Implement urgency flag matcher
Currently it supports the following options:
"oldest": match the first window that triggered an urgent event
"latest": match the last window that triggered an urgent event
2012-02-14 22:47:10 +00:00
Michael Stapelberg 18aeb262d3 userguide: document 'fullscreen global' 2012-01-27 22:32:25 +00:00
Michael Stapelberg f9bc434e2a Implement highlighting right/bottom borders of splitted windows
Fixes #299
2012-01-22 11:22:15 +00:00
Michael Stapelberg 31b7ec29fd Re-implement bar borders (by Angelo Haller)
This re-introduces borders around the workspace buttons in i3bar.
No additional pixels will be consumed (you will not lose any space for your
windows).
2012-01-20 21:36:50 +00:00
Michael Stapelberg 814695d8bb Implement 'move workspace to output <output>'
Fixes: #541
2012-01-10 22:16:50 +00:00
Michael Stapelberg df9b338175 Introduce synonyms: 'move to workspace' and 'move container to workspace' and 'move window to workspace'
This makes the new 'move workspace to output' command much more clear
2012-01-10 22:16:09 +00:00