Commit Graph

357 Commits

Author SHA1 Message Date
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 adc16f0e90 Document fixes and workarounds for test failures. 2013-04-11 22:37:58 +02:00
Eric S. Raymond d0fbc10aca Typo and usage fixes in documentation and comments. 2013-04-11 22:37:39 +02:00
Michael Stapelberg 3f525eba41 docs/wsbar: update (we have i3bar now, i3-wsbar is just an example)
fixes #735
2013-04-07 10:24:38 +02:00
Michael Stapelberg 114d7bf262 docs/multi-monitor: nVidia ≥ 302.17 works just fine (Thanks HedgeMage) 2013-04-06 22:49:14 +02:00
Michael Stapelberg 82b59788ac userguide: mention forgotten layout splitv/splith (Thanks Eelis) 2013-03-30 13:03:35 +01:00
enkore 58e68940f6 Add click events to i3bar
If the statusline generator (i.e. i3status) specifies click_events:true
in the protocol header, i3bar will write a JSON array on it's stdin
notifying it if the user clicks on a block.

The exact protocol is documented in docs/i3bar-protocol.
2013-03-21 23:55:30 +01:00
Michael Stapelberg 0f6d483558 docs/hacking-howto: explain our different branches 2013-03-14 14:44:01 +01:00
Michael Stapelberg fee6d15a3a docs/hacking-howto: fix the link to the git introduction 2013-03-14 14:43:51 +01:00
oblique 8a4a719093 Add support for _NET_WM_STATE_DEMANDS_ATTENTION.
_NET_WM_STATE_DEMANDS_ATTENTION indicates that some action in or with
the window happened. It's a weaker hint than urgency flag of WM_HINTS,
but some applications and almost all Qt applications use it instead of
WM_HINTS' urgency flag (one example is Skype).
2013-03-09 10:55:13 +01:00
András Mohari a0d5b744ab Allow min_width of a block in i3bar to be a string
With this change, min_width can either be an integer (as usual), or a
string. In the latter case, the width of the text given by min_width
determines the minimum width of the block. This way one does not have to
figure out a minimum width by trial and error, only to do it again every
time the font is changed.
2013-02-25 23:48:35 +01:00
Piotr S. Staszewski 3facbbca5c Add a new IPC event for changes on windows.
Added new event id (I3_IPC_EVENT_WINDOW) so that a an IPC client can
subscribe to events on windows. Added a basic window event that gets
triggered when a window gets successfully reparented. This new event
also dumps the container data, so that IPC clients can get the initial
window name. IPC clients wishing to see window events should subscribe
to 'window'.
2013-02-18 10:55:11 +01:00
Michael Stapelberg e215fd43c0 i3bar-protocol: update example, reword separator{,_block_width} 2013-02-18 10:51:52 +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 d36e2a70bf hacking-howto: refer people to cr.i3wm.org 2013-02-10 15:10:13 +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
slowpoke 527ec2a69c Adds Go IPC lib to the docs. 2013-01-02 23:15:14 +01:00
Michael Stapelberg d6e4910c22 userguide: fix typo: s/11x/11px/ 2012-12-26 18:32:13 +01:00
Michael Stapelberg e11252a7af pod2html: remove "(testsuite)" from title, it’s also for i3-dmenu-desktop 2012-12-24 15:27:09 +01:00
Michael Stapelberg b8939e6c9c hacking-howto: clarify where to send patches to (Thanks Vivien) 2012-12-20 23:56:17 +01:00
Michael Stapelberg 5b8df27270 userguide: s/mailclient/mail client/g (Thanks joepd) 2012-12-20 23:54:48 +01:00
Michael Stapelberg 8c3acbb67f drop debugging-release-version from docs makefile 2012-12-11 22:46:35 +01:00
Michael Stapelberg f506e35395 drop docs/debugging-release-version, it was integrated into docs/debugging 2012-12-11 22:32:14 +01:00
Michael Stapelberg 66f7a607f6 docs/debugging: grammar improvements (Thanks cian) 2012-12-09 17:56:55 +01:00
Michael Stapelberg 8fc4660140 docs/debugging: simplify, merge with release version instructions 2012-12-09 12:07:25 +01:00
Antoine Millet e8149c77b3 i3bar: add min_width and align keys to blocks 2012-12-06 09:48:27 +01:00
Michael Stapelberg fdf14b8f58 docs/i3bar-protocol: fix example formatting 2012-12-02 17:58:59 +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
Francesco Mazzoli 16c8832a7b better docs for the focus workspace ipc event 2012-11-13 09:40:29 +01:00
Francesco Mazzoli 464d387044 take care of non-existant old workspaces 2012-11-13 09:33:03 +01:00
Francesco Mazzoli 74d596e0fc more informative `workspace' events
Add a `current' and `old' properties to the `focus' change type,
containing the current and old workspace respectively.  These additions
are not necessary anywhere else because `focus' is always triggered when
changing ws.
2012-11-13 09:33:00 +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
Michael Stapelberg 2f90321d16 docs/testsuite: add "Installing the dependencies" section (Thanks bitonic)
fixes #863
2012-10-30 19:14:11 +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 34bd8af634 docs/ipc: add a warning to use an existing library (Thanks slowpoke) 2012-10-03 23:59:33 +02:00
Michael Stapelberg f406f7187c docs/ipc: remove unnecessary newline (Thanks Merovius) 2012-10-03 23:54:35 +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
Quentin Glidic f1f0de1c49 docs/i3bar-protocol: Document stop/cont_signal 2012-09-22 15:13:21 +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
Pavel Löbl 7cffd79140 Add new subscribe event 'mode' for binding mode changes
Introducing a new event to subscribe called mode. It's fired up
when i3 changes binding mode (like switching from default to resize).
IPC guide adjusted also.
2012-09-22 12:52:49 +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
Simon Elsbrock 91d6fde7f5 hacking-howto: fix wrong anchor to #_tree_reply 2012-09-16 23:28:20 +02:00
Michael Stapelberg daf2b57222 docs/testsuite: add pointers to additional docs 2012-09-10 14:13:43 +02:00
Michael Stapelberg 5bea7cb7df docs: generate HTML from testsuite POD documentation 2012-09-10 12:03:14 +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
Michael Stapelberg c8cfc77b0a docs/testsuite: mention why using a separate language is great 2012-08-23 20:27:08 +02:00
Quentin Glidic 6c9bf84d4e userguide: Update Fonts section for Pango support 2012-08-13 11:39:31 +02:00
Michael Stapelberg f94edd9fc3 i3bar-protocol: add example (illustration-only!) shell script, clarify {"version":1} header 2012-08-12 18:47:24 +02:00
Valentin Haenel da924aae6f Bugfix: bump copyright in asciidoc-git.conf 2012-08-10 23:27:23 +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 d5b7146123 docs/ipc: make the reply sections consistent (they contain the reply type) 2012-08-05 14:42:12 +02:00
Michael Stapelberg 0e47d52c43 ipc: clarify the patch version for sth like 4.2 2012-08-05 14:39:45 +02:00
Michael Stapelberg 78f5f2204d ipc: implement GET_VERSION to find out the i3 version
This is useful for third-party scripts which require certain features
and want to error out cleanly when they are run with an old i3 version.

Additionally, i3 --version might be different from what’s actually
running (an old version of the binary), so i3-msg -t get_version will be
the best way to figure out the i3 version you are actually running from
this commit on.
2012-08-05 14:30:05 +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 ea31cde43b docs/ipc: update links to libraries 2012-07-23 11:03:16 +02:00
Michael Stapelberg b8d77eb59e docs/ipc: document the 'window' field (Thanks jh)
fixes #758
2012-07-23 11:01:52 +02:00
Quentin Glidic e452acb30e Add stub Makefiles to allow subdir make calls 2012-07-22 19:57:48 +02:00
Quentin Glidic 66adb62e1f Move docs to the new Makefile layout 2012-07-22 19:57:48 +02:00
Quentin Glidic bdc078914b i3: Replace loglevels by a global debug logging
File-limited were not used nor really useful
Besides, they are painful to maintain in Makefile rules compared to the
benefit
2012-07-22 18:41:12 +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
Michael Stapelberg 5a29e61a46 Merge branch 'master' into next 2012-06-10 18:19:29 +02:00
Michael Stapelberg 318b1fa2e2 add slides from 2012-03-16 (German) 2012-06-10 18:17:02 +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 f2dde5f5dd update refcard (Thanks Moritz Bandemer) 2012-06-03 17:17:11 +02:00
Michael Stapelberg 63ea509482 ipc: update the links to the python libraries on github (Thanks BusMaster) 2012-04-14 20:32:41 +02:00
Michael Stapelberg 3a42038b8f add missing docs/refcard_style.css to git 2012-04-13 13:38:06 +02:00
Michael Stapelberg 70c27d9be4 fix broken link in docs/debugging (Thanks nh2) 2012-04-13 13:30:04 +02:00
Michael Stapelberg 41d034a6db replace the refcard with an HTML version (by SardemFF7)
This eliminates our build-depedency on latex.
2012-04-12 16:04:29 +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
Michael Stapelberg a6c461264c add docs/i3bar-protocol 2012-02-16 20:39:34 +00: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
Fernando Tarlá Cardoso Lemos 23abfcf7f2 Mention floating_fix_coordinates in the hacking how-to. 2012-02-14 21:51:13 +00:00
Michael Stapelberg c3125b4424 docs/debugging: cover development version, add debugging-release-version 2012-02-12 11:18:17 +00:00
Michael Stapelberg 194f986975 docs/ipc: remove the log_markers request (it was removed from the code) 2012-02-07 20:43:58 +00:00
Jure Ziberna 1858afc880 docs/ipc: added python library 2012-02-06 20:16:27 +00:00