Commit Graph

6025 Commits

Author SHA1 Message Date
Theo Buehler c0f685e7bc 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-07-30 21:41:24 +02:00
Deiz fbcb227537 Move mkdirp into libi3 2015-07-30 21:41:20 +02:00
Tony Crisci 7c2842eae4 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-07-30 21:38:24 +02:00
Michael Stapelberg ee66a8bcde userguide: quoted strings need to be used, escaping isn’t possible
fixes #1678
2015-07-30 21:37:04 +02:00
Deiz d03b96b369 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-07-30 21:36:04 +02:00
Tony Crisci e71c304444 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-07-30 21:35:42 +02:00
Tony Crisci a0268a38d3 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-07-30 21:35:12 +02:00
Tony Crisci c1b6c94621 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-07-30 21:34:43 +02:00
Tim Creech f41018b33e Changes for compiling on Illumos
* common.mk: use -lsocket -liconv -lgen on Illumos/Solaris
* mkdirp: return int and accept a mode argument
* use i3's mkdirp on everything except Illumos
2015-07-30 07:44:10 -04:00
Michael Stapelberg 3d16e48a4f Merge pull request #1818 from simonnagl/terminology
Added terminology to i3-sensible-terminal
2015-07-30 00:05:08 -07:00
Simon Nagl 49bd061d9d Added terminology to i3-sensible-terminal 2015-07-28 23:00:18 +02:00
Michael Stapelberg c8b4303eff Make line continuation userguide entry more verbose. 2015-07-27 22:33:03 +02:00
Michael Stapelberg 86cc7d9a21 Improve error message for clarity. 2015-07-27 22:32:55 +02:00
Michael Stapelberg 691d6714fc Merge pull request #1797 from hwangcc23/config-file-line-continuation
Support config file line continuation
2015-07-27 13:27:03 -07:00
hwangcc23 fc1477dfb5 Support config file line continuation
1. Allow to use the line continuation, which is indicated by \ before the new line character, in config files.
2. Add a new testcase "247-config-line-continuation.t" for
    a). testing line continuation
    b). making sure string escaping still works
    c). testing line continuations within a string
    b). testing line continuations with too many lines
2015-07-26 07:54:06 +08:00
Michael Stapelberg e89f391589 Merge pull request #1805 from lasers/next
Added missing bar section for tray_output primary
2015-07-19 22:48:04 +02:00
Chris b9e1973948 Added missing bar section for tray_output primary 2015-07-18 18:50:02 -05:00
Michael Stapelberg 9f107c8b4d add link to a rust i3 library 2015-07-19 00:23:39 +02:00
Michael Stapelberg 9d353fa46b Merge pull request #1795 from PopeLevi/patch-1
Added 'pg' to i3-sensible-pager
2015-07-14 09:00:30 -04:00
PopeLevi 2b3aa559c0 Added 'pg' to i3-sensible-pager
Added 'pg' to the list of pagers in i3-sensible-pager
2015-07-14 20:03:55 +12:00
Michael Stapelberg ccfd783bf2 Merge pull request #1792 from PopeLevi/patch-1
Added mate-terminal to i3-sensible-terminal
2015-07-12 07:24:33 -07:00
PopeLevi eea580b7e8 Added mate-terminal to i3-sensible-terminal
Added the 'mate-terminal' terminal emulator to the list of terminals emulators in i3-sensible-terminal
2015-07-13 00:13:55 +12:00
Michael Stapelberg 8739ed9890 Merge pull request #1786 from hwangcc23/pr-for-issue-#1785
Display which config is used in --more_version
2015-07-10 08:29:48 -07:00
hwangcc23 44367572c9 Display which config is used in --more_version
In the output of i3 --moreversion,
display the path of the used config and its last modified time.
2015-07-10 22:54:25 +08:00
Michael Stapelberg e7942153c5 Merge pull request #1788 from acrisci/feature/docs-contributing-finding-issues
docs: add section on finding issues to CONTRIBUTING
2015-07-09 22:03:27 -07:00
Tony Crisci 7287642696 docs: add section on finding issues to CONTRIBUTING 2015-07-10 00:04:20 -04:00
Michael Stapelberg b30d87ea81 Merge pull request #1778 from Airblader/bug-1777
Send custom command if workspace buttons are disabled
2015-07-01 06:05:56 -07:00
Ingo Bürk b9bacdf464 Send custom-defined command upon click on the non-statusline part of i3bar even if workspace_buttons is set to 'no'.
fixes #1777
2015-07-01 14:48:06 +02:00
Michael Stapelberg 7e7f00428f Merge pull request #1776 from Airblader/bug-1774
Return non-match instead of asserting
2015-07-01 03:00:37 -07:00
Ingo Bürk c073de8d26 Remove asserts and return non-match instead if the container or its workspace cannot be found.
This can cause an issue if used in combination with for_window and i3bar during startup of i3 otherwise.

fixes #1774
2015-07-01 11:47:55 +02:00
Michael Stapelberg 6be1b28813 Merge pull request #1771 from Airblader/feature-1769
Implement new criterion 'workspace'.
2015-06-30 13:52:54 -07:00
Michael Stapelberg 7c1abc9ab0 Merge pull request #1772 from Airblader/feature-fix-newline
Added missing newlines in log statements.
2015-06-30 13:52:48 -07:00
Ingo Bürk be406d036d Implement new criterion 'workspace'.
If the match expression is a plain number (e.g., '99'), the number of a workspace will be compared strictly. Otherwise, the match expression is taken as a regular expression and compared against the workspace's name.
This allows all of the following:

for_window [workspace=5] ...
for_window [workspace="5:foo"] ...
for_window [workspace="foo"] ...

fixes #1769
2015-06-30 20:53:52 +02:00
Michael Stapelberg f76838794d Merge pull request #1768 from hwangcc23/atoi2strtol
Fix TODO in src/bindings.c
2015-06-30 11:50:28 -07:00
Ingo Bürk 94a09b3cac Added missing newlines in log statements. 2015-06-30 20:48:35 +02:00
hwangcc23 478dc5dc38 Fix TODO by replacing atoi by strtol
Fix TODO in bindings.c.
There is no problem to use atoi here since either keycode 0 or button0 is invalid.
But strtol is more flexible and is recommanded for conversion.
2015-06-30 22:22:56 +08:00
Michael Stapelberg 8df7e4ecb9 Merge pull request #1747 from Airblader/feature-1723
Implement "title_format"
2015-06-29 00:24:59 -07:00
Ingo Bürk cf11fb5574 Added documentation for "title_format". 2015-06-29 09:19:50 +02:00
Michael Stapelberg a853a8ef75 Merge pull request #1745 from mh21/configurable-tray-padding
Configurable tray padding.
2015-06-29 00:19:44 -07:00
Ingo Bürk 5a8d66a1d5 Parse the title_format and display the customized window title if a format was set.
The format string set with "title_format" can contain the placeholder "%title" which will be replaced with the actual window title.

By not overwriting window->name itself, we make sure that assignment matching still works as expected.

fixes #1723
2015-06-29 09:13:31 +02:00
Ingo Bürk 55e8d06ee4 Added command directive 'title_format'.
This directive will be used to customize the window title.
2015-06-29 09:13:31 +02:00
Michael Stapelberg 9ad9af6dee add util-{wm,keysyms} explicitly, remove obsolete xlib, update lkgv
fixes #1764
2015-06-28 21:27:52 +02:00
Michael Hofmann bad4203755 Configurable tray padding. 2015-06-28 00:14:37 +02:00
Michael Stapelberg dfe2c9c310 debian: stacklimit.png got deleted, so remove it from i3-wm.docs 2015-06-21 13:24:35 +02:00
Michael Stapelberg 696d844ffa Merge pull request #1697 from Airblader/feature-1695
Extend mouse commands on i3bar
2015-06-18 20:50:56 +02:00
Ingo Bürk 618b6744d5 Added testcase for #1695. 2015-06-18 19:28:24 +02:00
Ingo Bürk 9eb255d5fa Ensure format of dumped bindings for i3bar is compatible with i3 bindings.
fixes #1695
2015-06-18 19:28:24 +02:00
Ingo Bürk f0ac9629b9 Adapted userguide for new i3bar 'bindsym' command. 2015-06-18 19:28:24 +02:00
Ingo Bürk 715fbf2d80 Read 'bindsym' rather than the old 'wheel_up_cmd' and 'wheel_down_cmd' directives in i3bar and call the command if specified.
The old directives are still read for transitional support which can be removed in a future version.
2015-06-18 19:28:20 +02:00
Michael Stapelberg 4d25d6a5a6 Merge pull request #1752 from Airblader/feature-test-cleanups-1
Silence "masks earlier declaration in same scope" warnings
2015-06-13 14:39:19 +02:00