]> git.sur5r.net Git - i3/i3/log
i3/i3
8 years agorandr: use root window in case of no randr outputs 1921/head
Nils Schneider [Mon, 14 Sep 2015 20:12:47 +0000 (22:12 +0200)]
randr: use root window in case of no randr outputs

This patch introduces a root output covering the root window. It is used
in two cases:

1. RandR is not available. In this case, the previous behaviour of
   creating a single output covering the root window is preserved.

2. RandR is available, but there is no active output. In this case,
   the root output is enabled and will be the only active output.
   If any RandR output becomes available, the root output will be
   disabled again. Existing mechanisms for migrating workspaces will
   just work without modification.

I've carefully slipped in a global variable `Output root_output` representing
that output.

Fixes #926 and #1489

8 years agoRevert "Add a timeout: delay_exit_on_zero_displays"
Nils Schneider [Mon, 14 Sep 2015 20:34:05 +0000 (22:34 +0200)]
Revert "Add a timeout: delay_exit_on_zero_displays"

This reverts commit 2c77d7ceed298caf17a78b382e23af2e48377021.

8 years agoclang-format
Michael Stapelberg [Mon, 14 Sep 2015 08:22:43 +0000 (10:22 +0200)]
clang-format

(When will I learn? I need to integrate clang-format into my editor.)

8 years agoExtract workspace names from bindings before reordering.
Michael Stapelberg [Mon, 14 Sep 2015 07:28:42 +0000 (09:28 +0200)]
Extract workspace names from bindings before reordering.

fixes #1889

8 years agoMerge pull request #1856 from Airblader/feature-1455
Michael Stapelberg [Sun, 13 Sep 2015 20:47:14 +0000 (13:47 -0700)]
Merge pull request #1856 from Airblader/feature-1455

EWMH Sticky windows

8 years agoMake sure sticky windows pop to the front if they get sticky while not being on a... 1856/head
Ingo Bürk [Wed, 26 Aug 2015 19:06:53 +0000 (21:06 +0200)]
Make sure sticky windows pop to the front if they get sticky while not being on a visible workspace.
This commit also reworks the way focusing sticky windows is prevented by not focusing them temporarily at all, but preventing the focus in the first place.

8 years agoAdded tests for sticky windows.
Ingo Bürk [Sun, 23 Aug 2015 20:19:20 +0000 (22:19 +0200)]
Added tests for sticky windows.

8 years agoImplement new 'sticky' command to manually set, remove or toggle the sticky state...
Ingo Bürk [Sat, 22 Aug 2015 21:37:41 +0000 (23:37 +0200)]
Implement new 'sticky' command to manually set, remove or toggle the sticky state on a window.

8 years agoHandle _NET_WM_STATE_STICKY, but only for floating containers. If this atom is set...
Ingo Bürk [Sun, 23 Aug 2015 11:36:12 +0000 (13:36 +0200)]
Handle _NET_WM_STATE_STICKY, but only for floating containers. If this atom is set, the floating window will always be automatically moved to the currently active workspace of the output that it is on. This is the equivalent of a sticky note stuck to the monitor.
We will respect this atom upon managing a window as well as when we receive a request that changes the sticky state.

fixes #1455

8 years agoMerge pull request #1917 from Airblader/feature-1378
Michael Stapelberg [Sun, 13 Sep 2015 18:33:33 +0000 (11:33 -0700)]
Merge pull request #1917 from Airblader/feature-1378

Use EWMH window as focus fallback

8 years agoUse the EWMH support window rather than the root window as an input focus fallback. 1917/head
Ingo Bürk [Sat, 12 Sep 2015 20:34:06 +0000 (22:34 +0200)]
Use the EWMH support window rather than the root window as an input focus fallback.

If no other window is available on the active workspace, we now select the EWMH support window (used to indicate that an EWMH-compliant window manager is preent) as the focus window rather than the root window. The NET_WM_ACTIVE window will still be set to XCB_WINDOW_NONE to pretend that no window is actually focused.
This fixes the issue that when using the root window, a fallback mechanism in X11 takes effect which routes keyboard input to the window under the cursor, independent of whether that window has the input focus. Using the EWMH window instead, we can avoid this behavior. We cannot simply set it to XCB_WINDOW_NONE as this would discard all keyboard events, breaking keybindings.

fixes #1378

8 years agoMerge pull request #1893 from rr-/resize
Michael Stapelberg [Fri, 11 Sep 2015 21:31:33 +0000 (14:31 -0700)]
Merge pull request #1893 from rr-/resize

Added cmd_size

8 years agoSupport "resize set W H" 1893/head
rr- [Sat, 5 Sep 2015 06:31:45 +0000 (08:31 +0200)]
Support "resize set W H"

8 years agodocs/debugging: warn more clearly about sensitive info (Thanks lambithal)
Michael Stapelberg [Fri, 11 Sep 2015 18:17:53 +0000 (20:17 +0200)]
docs/debugging: warn more clearly about sensitive info (Thanks lambithal)

closes #1906, see #1907 for discussion

8 years agoMerge pull request #1913 from Airblader/feature-1809
Michael Stapelberg [Fri, 11 Sep 2015 07:47:28 +0000 (00:47 -0700)]
Merge pull request #1913 from Airblader/feature-1809

Let "focus" report success depending on whether a window was matched.

8 years agoMerge pull request #1912 from lasers/patch-1
Michael Stapelberg [Fri, 11 Sep 2015 07:30:35 +0000 (00:30 -0700)]
Merge pull request #1912 from lasers/patch-1

 Fix typo in userguide

8 years agoLet "focus" report success depending on whether a window was matched. 1913/head
Ingo Bürk [Fri, 11 Sep 2015 06:26:33 +0000 (08:26 +0200)]
Let "focus" report success depending on whether a window was matched.

fixes #1809

8 years ago Fix typo in userguide 1912/head
lasers [Fri, 11 Sep 2015 03:42:00 +0000 (22:42 -0500)]
 Fix typo in userguide

8 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

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

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

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

8 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'

8 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

8 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

8 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.

8 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.

8 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.

8 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

8 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.

8 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).

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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__

8 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.

8 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

8 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

8 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

8 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

8 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

8 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.

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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.

8 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

8 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.

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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)

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

8 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()

8 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

8 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

8 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

8 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

8 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

8 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.

8 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

8 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

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

8 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'

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

8 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

8 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

8 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

8 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.

8 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

8 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

8 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.

8 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.