]> git.sur5r.net Git - i3/i3/log
i3/i3
9 years agoRefactor out some individual functions in render_con() to make the code more readable.
Ingo Bürk [Wed, 9 Sep 2015 16:27:34 +0000 (18:27 +0200)]
Refactor out some individual functions in render_con() to make the code more readable.

9 years agoupdate release.sh for 4.10.4 release
Michael Stapelberg [Tue, 8 Sep 2015 07:27:59 +0000 (09:27 +0200)]
update release.sh for 4.10.4 release

9 years agodebian: update changelog
Michael Stapelberg [Tue, 8 Sep 2015 07:25:53 +0000 (09:25 +0200)]
debian: update changelog

9 years agoUpdate debian/changelog
Michael Stapelberg [Tue, 8 Sep 2015 07:19:33 +0000 (09:19 +0200)]
Update debian/changelog

9 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 8 Sep 2015 07:19:33 +0000 (09:19 +0200)]
Merge branch 'master' into next

9 years agoMerge branch 'release-4.10.4'
Michael Stapelberg [Tue, 8 Sep 2015 07:19:33 +0000 (09:19 +0200)]
Merge branch 'release-4.10.4'

9 years agorelease i3 4.10.4 4.10.4
Michael Stapelberg [Tue, 8 Sep 2015 07:19:17 +0000 (09:19 +0200)]
release i3 4.10.4

9 years agoRevert "Check if output is disabled in handle_output()"
Michael Stapelberg [Tue, 25 Aug 2015 18:09:56 +0000 (20:09 +0200)]
Revert "Check if output is disabled in handle_output()"

This reverts commit e71c304444dd3070877887d2bb5407cd64033946.

It turns out that several users have workflows in which they turn off
their monitors without using e.g. `xrandr --output DP-1 --off`. The
result is that the monitors are disconnected, but not disabled.

With commit e71c304444dd3070877887d2bb5407cd64033946, i3 started to see
these two states as one and the same state, but that causes more harm
than it does good. For example, for some users with only one monitor, i3
would just exit when these users turned off their monitor.

related to #1858, #1839

fixes #1845

9 years agoi3-msg: strdup getenv() result before freeing
shdown [Thu, 20 Aug 2015 19:55:23 +0000 (22:55 +0300)]
i3-msg: strdup getenv() result before freeing

Fixes #1852.

9 years agoMerge pull request #1895 from Airblader/bug-1883
Michael Stapelberg [Sun, 6 Sep 2015 11:26:53 +0000 (13:26 +0200)]
Merge pull request #1895 from Airblader/bug-1883

Support moving dock clients to another output.

9 years agoSupport moving dock clients to another output. 1895/head
Ingo Bürk [Sat, 5 Sep 2015 10:35:28 +0000 (12:35 +0200)]
Support moving dock clients to another output.

This fixes #1883 where a race condition between i3 and i3bar caused two i3bar clients to be put onto the same output.

9 years agoMerge pull request #1899 from Airblader/bug-swallowed-percent
Michael Stapelberg [Sat, 5 Sep 2015 18:14:05 +0000 (20:14 +0200)]
Merge pull request #1899 from Airblader/bug-swallowed-percent

Fix incorrect swallow of percent sign

9 years agoMerge pull request #1898 from Airblader/bug-1896
Michael Stapelberg [Sat, 5 Sep 2015 18:13:13 +0000 (20:13 +0200)]
Merge pull request #1898 from Airblader/bug-1896

Free the string returned by g_markup_escape_text.

9 years agoIf a title contains a percent sign, make sure it is not swallowed by parsing the... 1899/head
Ingo Bürk [Sat, 5 Sep 2015 14:29:47 +0000 (16:29 +0200)]
If a title contains a percent sign, make sure it is not swallowed by parsing the title_format (if one is set on the window).

9 years agoFree the string returned by g_markup_escape_text. 1898/head
Ingo Bürk [Sat, 5 Sep 2015 14:21:16 +0000 (16:21 +0200)]
Free the string returned by g_markup_escape_text.

fixes #1896

9 years agoFix “precisely 1 group” error message
Michael Stapelberg [Sat, 5 Sep 2015 12:32:58 +0000 (14:32 +0200)]
Fix “precisely 1 group” error message

fixes #1897

9 years agoMerge pull request #1891 from Airblader/bug-1890
Michael Stapelberg [Sat, 5 Sep 2015 10:54:47 +0000 (12:54 +0200)]
Merge pull request #1891 from Airblader/bug-1890

Handle absent window title

9 years agoMerge pull request #1892 from Airblader/bug-1215
Michael Stapelberg [Sat, 5 Sep 2015 10:46:47 +0000 (12:46 +0200)]
Merge pull request #1892 from Airblader/bug-1215

Fix rendering bug for floating windows

9 years agoMake sure borders are never counted as adjacent to the edge for floating containers. 1892/head
Ingo Bürk [Fri, 4 Sep 2015 23:44:37 +0000 (01:44 +0200)]
Make sure borders are never counted as adjacent to the edge for floating containers.

fixes #1215
relates to #998

9 years agoCorrectly handle an absent window title to avoid a crash for applications that only... 1891/head
Ingo Bürk [Fri, 4 Sep 2015 23:18:35 +0000 (01:18 +0200)]
Correctly handle an absent window title to avoid a crash for applications that only set it after opening the window.

fixes #1890

9 years agoMerge pull request #1880 from Airblader/feature-665
Michael Stapelberg [Thu, 3 Sep 2015 18:35:43 +0000 (20:35 +0200)]
Merge pull request #1880 from Airblader/feature-665

Move data from Con to Window

9 years agoMove aspect_ratio from Con to Window. 1880/head
Ingo Bürk [Sun, 30 Aug 2015 21:07:25 +0000 (23:07 +0200)]
Move aspect_ratio from Con to Window.

relates to #665

9 years agoMove width_increment and height_increment from Con to Window.
Ingo Bürk [Sun, 30 Aug 2015 21:04:20 +0000 (23:04 +0200)]
Move width_increment and height_increment from Con to Window.

relates to #665

9 years agoMerge pull request #1877 from Airblader/feature-1872
Michael Stapelberg [Mon, 31 Aug 2015 07:00:57 +0000 (09:00 +0200)]
Merge pull request #1877 from Airblader/feature-1872

Support _NET_WM_VISIBLE_NAME

9 years agoMove base_width and base_height from Con to Window
Ingo Bürk [Sun, 30 Aug 2015 20:48:37 +0000 (22:48 +0200)]
Move base_width and base_height from Con to Window

relates to #665

9 years agoSupport _NET_WM_VISIBLE_NAME. As per specification this is necessary since we can... 1877/head
Ingo Bürk [Sun, 30 Aug 2015 08:10:37 +0000 (10:10 +0200)]
Support _NET_WM_VISIBLE_NAME. As per specification this is necessary since we can display custom titles with title_format.

fixes #1872

9 years agoMerge pull request #1871 from Airblader/feature-1770
Michael Stapelberg [Sun, 30 Aug 2015 19:55:37 +0000 (21:55 +0200)]
Merge pull request #1871 from Airblader/feature-1770

Introduce command criterion value __focused__

9 years agoFix typo in userguide. 1871/head
Ingo Bürk [Sat, 29 Aug 2015 12:04:15 +0000 (14:04 +0200)]
Fix typo in userguide.

9 years agoAdded tests for special value __focused__.
Ingo Bürk [Fri, 28 Aug 2015 07:30:14 +0000 (09:30 +0200)]
Added tests for special value __focused__.

relates to #1770

9 years agoSupport a special value "__focused__" as a command criterion pattern for class, insta...
Ingo Bürk [Fri, 28 Aug 2015 06:26:27 +0000 (08:26 +0200)]
Support a special value "__focused__" as a command criterion pattern for class, instance, title, window_role and workspace.
This special value will match if the window's property equals that of the currently focused window.

relates to #1770

9 years agoBugfix: sort bindings, re-ordering once is not enough.
Michael Stapelberg [Fri, 28 Aug 2015 07:30:28 +0000 (09:30 +0200)]
Bugfix: sort bindings, re-ordering once is not enough.

Reordering once (as we did it before this commit) would only sort the
bindings by the _first_ bit of their event_state_mask, but we need to
sort them by _all_ bits of their event_state_mask.

fixes #1870

9 years agobindings: invert shift bit, don’t just remove it
Michael Stapelberg [Fri, 28 Aug 2015 07:09:31 +0000 (09:09 +0200)]
bindings: invert shift bit, don’t just remove it

Before this commit, we only made the transformation of C → c, with this
commit we’re considering both c → C and C → c.

fixes #1870

9 years agofix missing clang-format of amended commit
Michael Stapelberg [Wed, 26 Aug 2015 08:01:14 +0000 (10:01 +0200)]
fix missing clang-format of amended commit

9 years agoUse libxkbcommon for translating keysyms, support all XKB groups.
Michael Stapelberg [Sun, 23 Aug 2015 20:49:32 +0000 (22:49 +0200)]
Use libxkbcommon for translating keysyms, support all XKB groups.

fixes #1835

This commit improves the translation of keysyms to keycodes by loading
keymaps using libxkbcommon-x11 and using libxkbcommon for figuring out
the keymap, depending on each keybinding’s modifiers. This way, the
upper layers of complex layouts are now usable with i3’s bindsym
directive, such as de_neo’s layer 3 and higher.

Furthermore, the commit generalizes the handling of different XKB
groups. We formerly had support only for two separate groups, the
default group 1, and group 2. While Mode_switch is only one way to
switch to group 2, we called the binding option Mode_switch. With this
commit, the new names Group1, Group2 (an alias for Mode_switch), Group3
and Group4 are introduced for configuring bindings. This is only useful
for advanced keyboard layouts, such as people loading two keyboard
layouts and switching between them (us, ru seems to be a popular
combination).

When grabbing keys, one can only specify the modifier mask, but not an
XKB state mask (or value), so we still dynamically unbind and re-bind
keys whenever the XKB group changes.

The commit was manually tested using the following i3 config:

    bindsym Group4+n nop heya from group 4
    bindsym Group3+n nop heya from group 3
    bindsym Group2+n nop heya from group 2
    bindsym n nop heya
    bindsym shift+N nop explicit shift binding
    bindsym shift+r nop implicit shift binding
    bindcode Group2+38 nop fallback overwritten in group 2 only
    bindcode 38 nop fallback

…with the following layout:

    setxkbmap -layout "us,ua,ru,de" -variant ",winkeys,,neo" \
      -option "grp:shift_caps_toggle,grp_led:scroll" \
      -model pc104 -rules evdev

By default (xkb group 1, us layout), pressing “n” will result in the
“heya” message appearing. Pressing “a” will result in the “fallback”
message appearing. “j” is not triggered.

By pressing Shift+CapsLock you switch to the next group (xkb group 2, ua
layout). Pressing “a” will result in the “fallback overwritten in group
2 only” message, pressing “n” will still result in “heya”. “j” is not
triggered.

In the next group (xkb group 3, ru layout), pressing “a” will result in
the “fallback” message again, pressing “n” will result in “heya”,
“j” is not triggered.

In the last group (xkb group 4, de_neo layout), pressing “a” will still
result in “fallback”, pressing “n” will result in “heya”, pressing “j”
will result in “heya from group 4”.

Pressing shift+n results in “explicit shift binding”, pressing shift+r
results in “implicit shift binding”. This ensures that keysym
translation falls back to looking at non-shift keys (“r” can be used
instead of ”R”) and that the order of keybindings doesn’t play a role
(“bindsym n” does not override “bindsym shift+n”, even though it’s
specified earlier in the config).

The fallback behavior ensures use-cases such as ticket #1775 are still
covered.

Only binding keys when the X server is in the corresponding XKB group
ensures use-cases such as ticket #585 are still covered.

9 years agoRevert "Check if output is disabled in handle_output()"
Michael Stapelberg [Tue, 25 Aug 2015 18:09:56 +0000 (20:09 +0200)]
Revert "Check if output is disabled in handle_output()"

This reverts commit e71c304444dd3070877887d2bb5407cd64033946.

It turns out that several users have workflows in which they turn off
their monitors without using e.g. `xrandr --output DP-1 --off`. The
result is that the monitors are disconnected, but not disabled.

With commit e71c304444dd3070877887d2bb5407cd64033946, i3 started to see
these two states as one and the same state, but that causes more harm
than it does good. For example, for some users with only one monitor, i3
would just exit when these users turned off their monitor.

related to #1858, #1839

fixes #1845

9 years agoMerge pull request #1864 from Airblader/feature-1861-class-instance
Michael Stapelberg [Tue, 25 Aug 2015 17:29:17 +0000 (19:29 +0200)]
Merge pull request #1864 from Airblader/feature-1861-class-instance

Added '%class' and '%instance' as placeholders for the title_format

9 years agoAdded '%class' and '%instance' as placeholders for the title_format directive. 1864/head
Ingo Bürk [Tue, 25 Aug 2015 17:22:05 +0000 (19:22 +0200)]
Added '%class' and '%instance' as placeholders for the title_format directive.

relates to #1861

9 years agoMerge pull request #1863 from Airblader/feature-tray-output-config
Michael Stapelberg [Tue, 25 Aug 2015 17:09:37 +0000 (19:09 +0200)]
Merge pull request #1863 from Airblader/feature-tray-output-config

Add 'tray_output primary' to the default config

9 years agoAdd 'tray_output primary' to the default config 1863/head
Ingo Bürk [Tue, 25 Aug 2015 16:50:14 +0000 (18:50 +0200)]
Add 'tray_output primary' to the default config

9 years agodocs/userguide: document behavior of tray_output with multiple bars
Michael Stapelberg [Tue, 25 Aug 2015 07:23:41 +0000 (09:23 +0200)]
docs/userguide: document behavior of tray_output with multiple bars

fixes #1855

9 years agodocs/debugging: make it clearer that you need to reload i3
Michael Stapelberg [Mon, 24 Aug 2015 18:50:18 +0000 (20:50 +0200)]
docs/debugging: make it clearer that you need to reload i3

9 years agoMerge pull request #1853 from shdown/issue-1852
Michael Stapelberg [Thu, 20 Aug 2015 20:29:24 +0000 (22:29 +0200)]
Merge pull request #1853 from shdown/issue-1852

i3-msg: strdup getenv() result before freeing

9 years agoi3-msg: strdup getenv() result before freeing 1853/head
shdown [Thu, 20 Aug 2015 19:55:23 +0000 (22:55 +0300)]
i3-msg: strdup getenv() result before freeing

Fixes #1852.

9 years agoMerge pull request #1850 from Airblader/feature-docs-8
Michael Stapelberg [Tue, 18 Aug 2015 07:51:34 +0000 (09:51 +0200)]
Merge pull request #1850 from Airblader/feature-docs-8

[docs] Move client.background to the list of colorclasses

9 years agoAdd client.background to the list of all available colorclasses rather than mentionin... 1850/head
Ingo Bürk [Mon, 17 Aug 2015 21:55:31 +0000 (23:55 +0200)]
Add client.background to the list of all available colorclasses rather than mentioning it as something special afterwards.

9 years agoMerge pull request #1838 from obfusk/rm-useless-get_first_output-call
Michael Stapelberg [Mon, 10 Aug 2015 17:19:24 +0000 (19:19 +0200)]
Merge pull request #1838 from obfusk/rm-useless-get_first_output-call

remove useless get_first_output() call

9 years agoMerge pull request #1837 from obfusk/fix-branch-info
Michael Stapelberg [Mon, 10 Aug 2015 17:18:43 +0000 (19:18 +0200)]
Merge pull request #1837 from obfusk/fix-branch-info

hacking-howto: re-word branches info

9 years agoremove useless get_first_output() call 1838/head
Felix C. Stegerman [Mon, 10 Aug 2015 15:51:09 +0000 (17:51 +0200)]
remove useless get_first_output() call

9 years agohacking-howto: re-word branches info 1837/head
Felix C. Stegerman [Mon, 10 Aug 2015 15:31:28 +0000 (17:31 +0200)]
hacking-howto: re-word branches info

fixes #1836

9 years agouserguide: explain i3-config-wizard’s behavior
Michael Stapelberg [Fri, 7 Aug 2015 06:41:39 +0000 (08:41 +0200)]
userguide: explain i3-config-wizard’s behavior

fixes #1782

9 years agolayout restore: remove remaining criteria when swallowing window
Michael Stapelberg [Thu, 6 Aug 2015 19:35:34 +0000 (21:35 +0200)]
layout restore: remove remaining criteria when swallowing window

fixes #1817

9 years agoTranslate bindsym bindings upon ISO_Next_Group
Michael Stapelberg [Thu, 6 Aug 2015 07:32:22 +0000 (09:32 +0200)]
Translate bindsym bindings upon ISO_Next_Group

With commit c738b2e454bb8b096dd99d44e9e51030f8355b90 we changed i3 so
that the default keybindings can be used when ISO_Next_Group is enabled,
but bindings which explicitly use Mode_switch have precedence. This
behavior required the use of bindcode instead of bindsym.

With this commit, when switching from group 1 to group 2 using
ISO_Next_Group, i3 will re-translate all keybindings (looking at column
2/3, regardless of whether the keybinding itself specifies Mode_switch)
and re-grab them.

That way, the keybinding “bindsym $mod+x nop foo” will work when
pressing $mod+x without Mode_switch and when pressing the corresponding
$mod+x (different key) with Mode_switch. A binding such as “bindsym
Mode_switch+$mod+x nop bar” will still have precedence.

The intention here is to make bindsym keybindings work well with dual
keyboard layouts (such as {dvorak, us} or {us, ru}), so that users can
switch between groups and still have their (logical) keybindings behave
the same way.

fixes #1775

9 years agoclang-format src/load_layout.c
Michael Stapelberg [Wed, 5 Aug 2015 20:54:48 +0000 (22:54 +0200)]
clang-format src/load_layout.c

9 years agoMerge pull request #1833 from FauxFaux/next
Michael Stapelberg [Wed, 5 Aug 2015 20:45:37 +0000 (22:45 +0200)]
Merge pull request #1833 from FauxFaux/next

generate parser enums stably: additionally sort on name

9 years agoi3-save-tree: retain “rect” for floating_cons
Michael Stapelberg [Wed, 5 Aug 2015 20:43:18 +0000 (22:43 +0200)]
i3-save-tree: retain “rect” for floating_cons

9 years agoappend_layout: load floating containers correctly
Michael Stapelberg [Wed, 5 Aug 2015 20:40:58 +0000 (22:40 +0200)]
append_layout: load floating containers correctly

fixes #1739
fixes #1271

9 years agogenerate parser enums stably: additionally sort on name 1833/head
Chris West (Faux) [Wed, 5 Aug 2015 20:21:31 +0000 (21:21 +0100)]
generate parser enums stably: additionally sort on name

9 years agoMerge pull request #1816 from tcreech/tcreech-for-illumos
Michael Stapelberg [Tue, 4 Aug 2015 07:10:06 +0000 (00:10 -0700)]
Merge pull request #1816 from tcreech/tcreech-for-illumos

Changes for compiling i3 on Illumos

9 years agoMerge pull request #1789 from shdown/next
Michael Stapelberg [Mon, 3 Aug 2015 17:49:15 +0000 (10:49 -0700)]
Merge pull request #1789 from shdown/next

Use safe wrappers wherever possible

9 years agoUse safe wrappers inside "#if 0" too 1789/head
shdown [Mon, 3 Aug 2015 09:51:55 +0000 (12:51 +0300)]
Use safe wrappers inside "#if 0" too

9 years ago.travis.yml: add a wrapped functions grepper script
shdown [Mon, 3 Aug 2015 09:51:39 +0000 (12:51 +0300)]
.travis.yml: add a wrapped functions grepper script

9 years agoconfig_parser: don't use sizeof(char)
shdown [Mon, 3 Aug 2015 09:51:20 +0000 (12:51 +0300)]
config_parser: don't use sizeof(char)

9 years agoUse safe wrappers wherever possible
shdown [Mon, 3 Aug 2015 09:50:50 +0000 (12:50 +0300)]
Use safe wrappers wherever possible

9 years agolibi3: change scalloc() signature to match calloc()
shdown [Mon, 3 Aug 2015 09:50:13 +0000 (12:50 +0300)]
libi3: change scalloc() signature to match calloc()

9 years agoMerge pull request #1712 from Airblader/feature-next-wm-size-hints-adopted
Michael Stapelberg [Mon, 3 Aug 2015 06:52:10 +0000 (23:52 -0700)]
Merge pull request #1712 from Airblader/feature-next-wm-size-hints-adopted

[Adopted] Use WM_SIZE_HINTS when available to set the geometry of floating windows

9 years agoProperly clear the urgency hint when set by i3.
Michael Stapelberg [Sun, 2 Aug 2015 18:50:14 +0000 (20:50 +0200)]
Properly clear the urgency hint when set by i3.

fixes #1825

9 years agoMerge pull request #1822 from acrisci/feature/docs-contributing-formatting
Michael Stapelberg [Sun, 2 Aug 2015 16:14:00 +0000 (09:14 -0700)]
Merge pull request #1822 from acrisci/feature/docs-contributing-formatting

docs: improve formatting for CONTRIBUTING

9 years agodocs: improve formatting for CONTRIBUTING 1822/head
Tony Crisci [Sat, 1 Aug 2015 18:50:55 +0000 (14:50 -0400)]
docs: improve formatting for CONTRIBUTING

9 years agoMerge pull request #1821 from acrisci/feature/dont-log-motion-notify
Michael Stapelberg [Fri, 31 Jul 2015 07:41:35 +0000 (00:41 -0700)]
Merge pull request #1821 from acrisci/feature/dont-log-motion-notify

Don't log motion notify

9 years agoDon't log motion notify 1821/head
Tony Crisci [Fri, 31 Jul 2015 02:40:38 +0000 (22:40 -0400)]
Don't log motion notify

Do not log an XCB_MOTION_NOTIFY event in handlers.c because this
clutters the log.

Only log in the motion notify handler if something important happens.

9 years agorelease.sh: pull website repository before
Michael Stapelberg [Thu, 30 Jul 2015 20:45:23 +0000 (22:45 +0200)]
release.sh: pull website repository before

9 years agorelease.sh: the mailing list part is done automatically
Michael Stapelberg [Thu, 30 Jul 2015 20:43:34 +0000 (22:43 +0200)]
release.sh: the mailing list part is done automatically

9 years agoUpdate debian/changelog
Michael Stapelberg [Thu, 30 Jul 2015 20:27:15 +0000 (22:27 +0200)]
Update debian/changelog

9 years agoMerge branch 'release-4.10.3'
Michael Stapelberg [Thu, 30 Jul 2015 20:27:15 +0000 (22:27 +0200)]
Merge branch 'release-4.10.3'

9 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 30 Jul 2015 20:27:15 +0000 (22:27 +0200)]
Merge branch 'master' into next

9 years agorelease i3 4.10.3 4.10.3
Michael Stapelberg [Thu, 30 Jul 2015 20:26:58 +0000 (22:26 +0200)]
release i3 4.10.3

9 years agorelease.sh: replace version in _docs/debugging at the right time
Michael Stapelberg [Thu, 30 Jul 2015 20:26:45 +0000 (22:26 +0200)]
release.sh: replace version in _docs/debugging at the right time

9 years agorelease.sh: bugfix: take docs from tmpdir, not startdir
Michael Stapelberg [Thu, 30 Jul 2015 20:21:48 +0000 (22:21 +0200)]
release.sh: bugfix: take docs from tmpdir, not startdir

9 years agorelease.sh: commit modified debian/changelog
Michael Stapelberg [Thu, 30 Jul 2015 20:16:01 +0000 (22:16 +0200)]
release.sh: commit modified debian/changelog

Otherwise, we cannot switch branches.

9 years agorelease.sh: 4.10.3 release
Michael Stapelberg [Thu, 30 Jul 2015 20:07:51 +0000 (22:07 +0200)]
release.sh: 4.10.3 release

9 years agorelease.sh: tell git to prefer “next” when merging
Michael Stapelberg [Thu, 30 Jul 2015 20:07:13 +0000 (22:07 +0200)]
release.sh: tell git to prefer “next” when merging

9 years agoi3bar: fix freeing static strings
shdown [Tue, 2 Jun 2015 20:08:08 +0000 (23:08 +0300)]
i3bar: fix freeing static strings

name and color fields of blocks are freed in clear_statusline, so they
need to be strdup'ed.

9 years agomkdirp: do not throw an error if directory exists
Theo Buehler [Sat, 23 May 2015 11:12:18 +0000 (13:12 +0200)]
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.

9 years agoMove mkdirp into libi3
Deiz [Sun, 29 Mar 2015 21:18:00 +0000 (17:18 -0400)]
Move mkdirp into libi3

9 years agoDetect base 16 in cmd criteria
Tony Crisci [Tue, 12 May 2015 21:04:01 +0000 (17:04 -0400)]
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.

9 years agouserguide: quoted strings need to be used, escaping isn’t possible
Michael Stapelberg [Sun, 3 May 2015 16:57:05 +0000 (18:57 +0200)]
userguide: quoted strings need to be used, escaping isn’t possible

fixes #1678

9 years agoInitialize workspace rect to the output's upon creation
Deiz [Sun, 26 Apr 2015 18:23:08 +0000 (14:23 -0400)]
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.

9 years agoCheck if output is disabled in handle_output()
Tony Crisci [Thu, 23 Apr 2015 22:21:15 +0000 (18:21 -0400)]
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.

9 years agoIgnore InputHint when not in WM_HINTS
Tony Crisci [Sun, 26 Apr 2015 02:43:46 +0000 (22:43 -0400)]
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

9 years agoBugfix: serialize con_id with %p in run_binding()
Tony Crisci [Sun, 26 Apr 2015 00:05:55 +0000 (20:05 -0400)]
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

9 years agoChanges for compiling on Illumos 1816/head
Tim Creech [Tue, 28 Jul 2015 00:47:12 +0000 (20:47 -0400)]
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

9 years agoMerge pull request #1818 from simonnagl/terminology
Michael Stapelberg [Thu, 30 Jul 2015 07:05:08 +0000 (00:05 -0700)]
Merge pull request #1818 from simonnagl/terminology

Added terminology to i3-sensible-terminal

9 years agoAdded terminology to i3-sensible-terminal 1818/head
Simon Nagl [Tue, 28 Jul 2015 21:00:18 +0000 (23:00 +0200)]
Added terminology to i3-sensible-terminal

9 years agoMake line continuation userguide entry more verbose.
Michael Stapelberg [Mon, 27 Jul 2015 20:33:03 +0000 (22:33 +0200)]
Make line continuation userguide entry more verbose.

9 years agoImprove error message for clarity.
Michael Stapelberg [Mon, 27 Jul 2015 20:29:44 +0000 (22:29 +0200)]
Improve error message for clarity.

9 years agoMerge pull request #1797 from hwangcc23/config-file-line-continuation
Michael Stapelberg [Mon, 27 Jul 2015 20:27:03 +0000 (13:27 -0700)]
Merge pull request #1797 from hwangcc23/config-file-line-continuation

Support config file line continuation

9 years agoSupport config file line continuation 1797/head
hwangcc23 [Tue, 14 Jul 2015 15:38:45 +0000 (23:38 +0800)]
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

9 years agoMerge pull request #1805 from lasers/next
Michael Stapelberg [Sun, 19 Jul 2015 20:48:04 +0000 (22:48 +0200)]
Merge pull request #1805 from lasers/next

Added missing bar section for tray_output primary

9 years agoAdded missing bar section for tray_output primary 1805/head
Chris [Sat, 18 Jul 2015 23:50:02 +0000 (18:50 -0500)]
Added missing bar section for tray_output primary

9 years agoadd link to a rust i3 library
Michael Stapelberg [Sat, 18 Jul 2015 22:23:39 +0000 (00:23 +0200)]
add link to a rust i3 library