Commit Graph

5249 Commits

Author SHA1 Message Date
Ingo Bürk b22a9ce617 Improve logging of button events. 2015-05-26 16:57:25 +02:00
Ingo Bürk 00c2fe4b69 Grab all buttons when managing a window to also allow 'bindsym --whole-window button4 …' to work correctly.
fixes #1701
2015-05-26 16:56:00 +02:00
Michael Stapelberg a4fab76772 docs/ipc: add veelenga/i3ipc-ruby 2015-05-25 01:05:08 +02:00
Michael Stapelberg 651f3150d4 Merge pull request #1714 from Airblader/feature-docs-6
Fixed syntax for tray_output in userguide
2015-05-25 00:51:41 +02:00
Michael Stapelberg 0d0bde6b1e Merge pull request #1716 from botovq/next
mkdirp: do not throw an error if directory exists
2015-05-23 13:33:33 +02:00
Theo Buehler ea6af13127 mkdirp: do not throw an error if directory exists
If I restart i3 4.10.2 twice, e.g. with

$ i3-msg restart; sleep 3; i3-msg restart

the second time I get the following two errors:

05/22/15 10:46:03 - ERROR: mkdir(/tmp/i3-theo.toAK7N) failed: File exists
05/22/15 10:46:03 - ERROR: Could not create "/tmp/i3-theo.toAK7N" for storing the restart layout, layout will be lost.

The first one is from mkdirp() in src/ipc.c and the second one is from
store_restart_layout() in src/util.c.

Notice that I do _not_ get the ``open()'' or ``Could not write restart layout to
...'' error messages, so the layout writing code after line 260 in
store_restart_layout() succeeded and the layout isn't actually lost.  Thus,
these error messages are a bit misleading, especially the second one (which is
triggered by the failure of mkdirp()).

POSIX says about `mkdir -p':

``Each dir operand that names an existing directory shall be ignored without
error.''

Therefore, I suggest the following simple patch that makes mkdirp() succeed if
the named file exists and actually is a directory.  This silences the second
error as well.
2015-05-23 13:12:18 +02:00
Ingo Bürk e2d5ebce1a Fixed syntax for tray_output in userguide. 2015-05-22 22:07:43 -04:00
Andrzej Pronobis d1262f2b6a Use WM_SIZE_HINTS whenever it's provided to set the geometry of floating windows. 2015-05-19 13:44:48 -04:00
Michael Stapelberg 43386c51d4 Merge pull request #1706 from Airblader/feature-docs-5
Made syntax of syntax descriptions consistent:
2015-05-18 21:46:47 +02:00
Ingo Bürk 94a46a1e35 Made syntax of syntax descriptions consistent:
* <xyz> denotes that some string must be used which is not a fixed value (e.g., a command), but a variable string (text, a number, ...)
* [xyz] denotes that the parameter is optional
* abc|xyz denotes that either abc or xyz must be given
2015-05-18 11:18:00 -04:00
Michael Stapelberg da064cc08f Merge pull request #1698 from Airblader/feature-1696
Added 'move position mouse'
2015-05-17 15:02:50 +02:00
Ingo Bürk 8801de2399 Protect "move position mouse" against a NULL access.
This could happen if two outputs are set up to have a gap in between them and the mouse cursor
being in said gap when the command is triggered.
2015-05-14 13:07:56 -04:00
Ingo Bürk fbbe9cf2e8 Added testcases for 'move position mouse' 2015-05-14 13:04:58 -04:00
Michael Stapelberg 38ab59f17b Merge pull request #1704 from acrisci/bug/cmd-detect-base-16
Detect base 16 in cmd criteria
2015-05-13 08:35:06 +02:00
Ingo Bürk d2cfe38c04 Added 'move position mouse' command to the userguide. 2015-05-12 17:47:18 -04:00
Ingo Bürk 4a585748a4 Implemented new command 'move [window|container] [to] position mouse|cursor|pointer
fixes #1696
2015-05-12 17:46:06 -04:00
Tony Crisci a74662052a Detect base 16 in cmd criteria
Try to detect base 16 numbers given to `con_id` and `id` for command criteria
by setting the base of strtol to 0. This should also detect octal.

This is necessary because mouse bindings now may be serialized as hex as of
5c32de4.
2015-05-12 17:04:01 -04:00
Michael Stapelberg 79e7e69939 Merge pull request #1700 from mh21/tray-icon-size-cleanup
Tray icon size cleanup.
2015-05-12 22:44:08 +02:00
Michael Stapelberg be2634c91f Merge pull request #1693 from mh21/wm-class-garbage-no-copy
Don't duplicate property value on class change.
2015-05-06 23:55:47 -07:00
Michael Hofmann f2542fc413 No memcpy on class change. 2015-05-06 16:33:15 +02:00
Michael Hofmann 0319bda1d4 Introduce sstrndup wrapper. 2015-05-06 16:33:15 +02:00
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 c70d71c113 Merge pull request #1689 from Airblader/feature-docs-4
Debugging docs – minimal setup, small log file, closed source software
2015-05-03 02:28:45 -07:00
Ingo Bürk 99e22cdf19 Added a section to the debugging docs:
* Motivate users to come up with clear and minimal instructions on how to reproduce a problem before submitting an issue.
* Encourage users to restart i3 before reproducing the problem so that the log file can stay small and noise-free.
* Mention the non-support of closed source software.
2015-05-03 11:24:14 +02:00
Michael Stapelberg 1aa42794ed Merge pull request #1685 from Deiz/fix-new-workspace-float
Initialize workspace rect to the output's upon creation
2015-05-02 08:24:54 -07:00
Michael Hofmann 27c060b279 Tray icon size cleanup.
- icon_size instead of font.height
- consistent spacing with tray_spacing_px
2015-04-30 11:45:38 +02:00
Deiz f0f906a52e Initialize workspace rect to the output's upon creation
The comment immediately following implied that this was the intended
behaviour. Not doing so means that compound commands that both move a
window to a new workspace as well as do something that depends on the
workspace's geometry (e.g. 'move position center' or 'floating enable'
on a tiled window) would use the workspace's calloc'd 0x0+0x0 geometry.
2015-04-28 15:09:58 -04:00
Michael Stapelberg 37bee99538 Merge pull request #1680 from acrisci/bug/randr-disabled-outputs
Check if output is disabled in handle_output()
2015-04-26 23:44:03 +02:00
Michael Stapelberg 5dda3bc2ae Merge pull request #1657 from Georgiy-Tugai/fix-flickering-shortened
i3bar: fix flickering shortened status bar on other output(s)
2015-04-26 23:38:27 +02:00
Michael Stapelberg b3e8facb59 Merge pull request #1683 from Airblader/bug-click-detection
Only detect clicks within the statusline width.
2015-04-26 23:36:28 +02:00
Michael Stapelberg f894e2aed6 Merge pull request #1688 from Airblader/feature-1687
Added a note to the debugging docs about sensitive data.
2015-04-26 23:31:12 +02:00
Ingo Bürk 19b2f8f0d5 Added a note to the debugging docs about sensitive data.
resolves #1687
2015-04-26 22:57:38 +02:00
Michael Stapelberg a4f0ed62e5 Merge pull request #1684 from acrisci/bug/focus-without-input-hint
Ignore InputHint when not in WM_HINTS
2015-04-26 12:15:38 +02:00
Michael Stapelberg 00cf467114 Merge pull request #1672 from acrisci/bug/fix-freebsd-bindmouse
bugfix: serialize con_id with %p in run_binding()
2015-04-26 12:13:43 +02:00
Tony Crisci 6cbe349774 Ignore InputHint when not in WM_HINTS
When InputHint is not in WM_HINTS (i.e., the flag is not set), treat the window
as if the InputHint was set (the default behavior). This means that i3 will
focus the window when it becomes managed.

fixes #1676
2015-04-25 22:43:46 -04:00
Tony Crisci 5c32de43c0 Bugfix: serialize con_id with %p in run_binding()
%p is equivalent to either %x or %lx, depending on the pointer size of the
platform. Before this commit, we always used %d, which has the same behavior
on Linux, but is not automatically expanded to %ld on e.g. FreeBSD.

fixes #1661
2015-04-25 20:05:55 -04:00
Ingo Bürk bbc66e45f7 Only detect clicks within the statusline width.
If the user clicks on the very top of i3bar above a tray icon, i3bar might
mistakenly trigger the click event for the last status block. This is due to
the fact that the click detection considers the separator width of the block
even though on the last block this is ignored, incorrectly spanning the block's
width partially (or entirely) across the tray area.
2015-04-26 00:32:18 +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
Tony Crisci 14e95e765e Check if output is disabled in handle_output()
Check if the `connection` of the randr output is
XCB_RANDR_CONNECTION_DISONNECTED and disable the output if it is.

This fixes an issue where the output would not be disabled if the output was
physically unplugged from the machine.
2015-04-23 18:21:15 -04:00
Michael Stapelberg 79d54fc3ae Merge pull request #1664 from Airblader/feature-wm-state-hidden-2
Set _NET_WM_STATE_HIDDEN in tabbed/stacked containers
2015-04-21 10:09:51 +02:00
Ingo Bürk cd0cf9d651 Added testcases for setting _NET_WM_STATE_HIDDEN on unfocused containers in tabbed/stacked containers. 2015-04-21 09:14:22 +02:00
Ingo Bürk ffe25d9e43 Set the _NET_WM_STATE_HIDDEN atom on windows that are currently not visible due to being in the non-focused tab of a stacked or tabbed container.
fixes #1648
2015-04-21 09:14:22 +02:00
Ingo Bürk d12482e5fd Added 'con_is_hidden' to check whether a given container is visible to the user assuming its workspace is visible.
This is useful for determining whether we want to set the _NET_WM_STATE_HIDDEN atom on the window.
2015-04-21 09:13:48 +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
Michael Stapelberg d9ca3e4274 Merge pull request #1669 from Airblader/feature-docs-2
Documentation Improvement – Debug i3bar
2015-04-21 08:32:13 +02:00
Michael Stapelberg b1974a469f Merge pull request #1636 from Deiz/update-notices
Update copyright notices and get rid of ranges
2015-04-21 08:31:40 +02:00
Michael Stapelberg 14cf2e5a27 Merge pull request #1666 from Xarthisius/undef_FALSE
Fix ‘FALSE’ undeclared (first use in this function) when i3 is built w/o PANGO
2015-04-21 08:29:55 +02:00
Georgiy Tugai de866c2fea
i3bar: fix flickering shortened status bar on other output(s) 2015-04-21 12:28:43 +09:30
Kacper Kowalik (Xarthisius) 30b6584de1 Fix ‘FALSE’ undeclared (first use in this function) when i3 is built without PANGO support 2015-04-20 16:51:58 -05:00