Michael Stapelberg [Wed, 3 Aug 2016 16:43:35 +0000 (18:43 +0200)]
Merge pull request #2301 from EvilPudding/next
Minor optimization
EvilPudding [Fri, 15 Apr 2016 13:24:03 +0000 (13:24 +0000)]
Leaving the last byte in Colorpixel.hex NULL
Added explicit assignment of last byte to the null character, for
appearence's sake.
EvilPudding [Wed, 13 Apr 2016 15:53:15 +0000 (15:53 +0000)]
Hex in struct Colorpixel.hex to contiguous memory
No reason for hex not to be of a constant size, and
no reason to introduce a cache miss by allocating it
separated from the rest of the structure.
Michael Stapelberg [Tue, 2 Aug 2016 18:23:53 +0000 (20:23 +0200)]
Only add NumLock fallback where necessary.
Previously, we always discarded the NumLock bit when looking up key
bindings for key press events, and we always grabbed every keycode with
and without the NumLock modifier.
With this commit, the NumLock bit is no longer discarded: since the
previous commit
3bd5e6e5c81b448f9f0ac84454671a871fbfea66 we can
correctly look up key bindings with/without the NumLock bit, as both
variants are stored in |keycodes_head|.
Further, before adding the NumLock fallback (resulting in grabbing the
keycode with the NumLock modifier), we now check whether the key has the
same meaning when NumLock is enabled. This correctly distinguishes the
KP_End vs. KP_1 case, i.e. one can now use the following key bindings:
# No longer accidentally triggered when pressing KP_1.
bindsym KP_End nop KP_End
# Properly distinguished now:
bindsym KP_End nop KP_End
bindsym Mod2+KP_1 nop KP_1
fixes #2346
Michael Stapelberg [Tue, 2 Aug 2016 18:10:26 +0000 (20:10 +0200)]
refactoring: store modifiers alongside translated keycodes
This is a no-op refactoring in terms of functionality.
related to #2346
Michael Stapelberg [Tue, 2 Aug 2016 17:33:26 +0000 (19:33 +0200)]
move xkb_current_group check into own function
This is a no-op refactoring.
Michael Stapelberg [Tue, 2 Aug 2016 17:31:23 +0000 (19:31 +0200)]
remove superfluous check for input_type
This condition is already enforced in grab_all_keys().
Denton Liu [Sat, 30 Jul 2016 17:30:25 +0000 (13:30 -0400)]
Update manpages (#2404)
Denton Liu [Tue, 19 Jul 2016 18:28:42 +0000 (14:28 -0400)]
Add uxterm to terminal list (#2397)
yshui [Sat, 25 Jun 2016 19:35:36 +0000 (15:35 -0400)]
Don't change border style if BS_NORMAL is requested in motif hints (#2386)
Fixes #2385
yshui [Wed, 22 Jun 2016 06:39:25 +0000 (02:39 -0400)]
Handle _MOTIF_WM_HINTS changes (#2384)
Ingo Bürk [Wed, 15 Jun 2016 20:25:22 +0000 (22:25 +0200)]
Introduced a new GET_BINDING_MODES message type and reply. (#2376)
This type dumps all currently configured binding modes.
fixes #2375
Michael Stapelberg [Wed, 15 Jun 2016 18:19:16 +0000 (20:19 +0200)]
Merge pull request #2350 from madroach/OpenBSD
Fix building and testing on OpenBSD
Christopher Zimmermann [Sat, 11 Jun 2016 11:05:29 +0000 (13:05 +0200)]
Don't use pthread on OpenBSD
since OpenBSD pthread does not support pthread_condattr_setpshared().
This patch could also stay in the OpenBSD ports tree or depend on a
configure test macro rather than defined __OpenBSD__.
Christopher Zimmermann [Sat, 11 Jun 2016 12:40:40 +0000 (14:40 +0200)]
Always use socket activation
it neither depends on systemd nor on any linuxism.
Christopher Zimmermann [Sat, 11 Jun 2016 12:47:17 +0000 (14:47 +0200)]
Fix testsuite on OpenBSD
OpenBSD perl forks for glob().
Therefore attach SIGCHLD handler as late as possible.
Christopher Zimmermann [Sat, 11 Jun 2016 10:58:16 +0000 (12:58 +0200)]
Use 64 bit time_t
Ingo Bürk [Tue, 31 May 2016 20:58:23 +0000 (22:58 +0200)]
Explicitly terminate fallback in set_from_resource. (#2366)
Zamarin Arthur [Tue, 31 May 2016 20:57:58 +0000 (23:57 +0300)]
Added qterminal to i3-sensible-terminal (#2367)
Trevor Merrifield [Sat, 28 May 2016 14:44:20 +0000 (10:44 -0400)]
Fix outdated documentation (#2362)
Michael Stapelberg [Thu, 26 May 2016 12:53:30 +0000 (14:53 +0200)]
travis: ubuntu: install libxcb-xrm from our repository
see #2363
Michael Stapelberg [Wed, 25 May 2016 06:23:45 +0000 (08:23 +0200)]
travis: remove libxcb-xrm-dev from build-deps before dpkg-buildpackage
Michael Stapelberg [Wed, 25 May 2016 05:49:14 +0000 (07:49 +0200)]
travis: ubuntu: install libtool
Michael Stapelberg [Tue, 24 May 2016 20:39:18 +0000 (22:39 +0200)]
travis: ubuntu: also install autotools-dev and automake
Michael Stapelberg [Tue, 24 May 2016 20:04:26 +0000 (22:04 +0200)]
travis: ubuntu: install autoconf (for autoreconf)
Michael Stapelberg [Tue, 24 May 2016 18:21:08 +0000 (20:21 +0200)]
travis: ubuntu: install ca-certificates to make git clone work
Michael Stapelberg [Tue, 24 May 2016 18:07:01 +0000 (20:07 +0200)]
travis: ubuntu: remove libxcb-xrm-dev from Build-Deps
It’s installed separately.
This should fix the failing travis build.
Ingo Bürk [Wed, 11 May 2016 18:11:35 +0000 (20:11 +0200)]
Don't trigger binding on window border click unless --border is given. (#2349)
Prior to this commit a binding specifying only --whole-window would
trigger even when clicking on the window border. However, this should
only happen if --border is specified.
fixes #2348
Ingo Bürk [Wed, 11 May 2016 18:11:04 +0000 (20:11 +0200)]
Split list of command / config directives in tests. (#2345)
This makes adding new directives less prone to merge conflicts.
Julien Lequertier [Tue, 10 May 2016 18:27:20 +0000 (20:27 +0200)]
Smart option added to hide_edge_borders config param (#2191) (#2191)
Use case:
* When managing multiple terminals in a workspace, the borders makes it easier
to know where the focus is, but when there is only one it's obvious where the
focus is.
* When there's only a web browser for example, the borders are actually counter-
productive since it makes clicking a side scrollbar or a tab a bit harder (if I
smash my cursor to the side or the top of the workspace, I have to move it in
the other direction by just a few pixels to be able to grab it)
Behaviour:
* No borders when there's a single window in a workspace
* Borders when there are multiple windows in a workspace
fixes #2188
Ingo Bürk [Sun, 8 May 2016 10:55:27 +0000 (12:55 +0200)]
Introduce support for specifying variables from X resources. (#2286)
This patch introduces a new 'set_from_resource' config directive which
allows defining a variable by retrieving its value from the X resource
database. This avoids having to configure a color scheme in multiple
files. The directive takes an additional fallback value which is used
in case the resource cannot be found or during config validation where
no X connection is available.
Furthermore, this patch includes the following changes:
- If the same variable is defined twice, we now properly overwrite the
value of the assignment rather than inserting two variable definitions
with the same key.
- We now depend on xcb-util-xrm to query the resource.
- Increase the buffer size for variable / resource assignments.
fixes #2130
Ingo Bürk [Sun, 8 May 2016 10:49:24 +0000 (12:49 +0200)]
Properly close disabled outputs restored during a restart. (#2337)
If an output is disabled during a restart, for example because a binding
such as
bindsym $mod+Shift+r exec "xrandr --auto", restart
is used, it can happen that we first write the layout to disk and only
then receive the RandR change events. This leads to a situation where
the restored tree will contain these outputs, but the restarted i3
process will not receive the RandR events, thus the internal output in i3
is marked disabled.
This patch finds these cases after a restart and force-disables the
affected outputs.
fixes #2326
Johannes Lange [Sat, 7 May 2016 22:20:08 +0000 (00:20 +0200)]
Do not count '\' in comment as line continuation (#2181)
fixes #2176
Ingo Bürk [Thu, 5 May 2016 18:46:33 +0000 (20:46 +0200)]
Use the last known timestamp when calling xcb_set_input_focus(). (#2332)
In most cases this won't make a difference, but consider the following
scenario:
* Some application acquires input focus on its own (which the window manager
is not involved in, so it will "always" work).
* Before the FocusIn / FocusOut events are processed by i3, the
workflow to push X changes is run, resulting in xcb_set_input_focus()
being called.
Using XCB_CURRENT_TIME, this means i3 will "win" and override the focus,
even though it simply wasn't aware (yet) that focus had already been taken
over by someone else. When processing the FocusIn / FocusOut events, i3
assumes that the focus is already set which results in a broken focus
state as i3 assumes some container has the input focus when it doesn't.
With the new behavior, i3's attempt to set the input focus will fail if
the FocusIn / FocusOut events have not yet processed. Once they are processed,
the focus state will be automatically corrected.
fixes #2322
Ingo Bürk [Thu, 5 May 2016 12:18:27 +0000 (14:18 +0200)]
Remove redundant depth argument from x_con_init(). (#2323)
Ingo Bürk [Thu, 5 May 2016 12:18:04 +0000 (14:18 +0200)]
Remove dead code guarded with "#if 0 … #endif" (#2338)
This code has been neutralized for many years now and served no purpose
other than cluttering up the code. We obviously don't need it and it's
out of date anyway.
If there's ever any reason to restore (parts of) it, we have git for
that. But we don't need to keep commented out code around.
Michael Stapelberg [Mon, 2 May 2016 06:49:16 +0000 (08:49 +0200)]
travis: snapshot git version before creating dist tarball
fixes #2334
Ingo Bürk [Sun, 1 May 2016 16:59:50 +0000 (18:59 +0200)]
Remove title indentation in nested containers. (#2330)
This commit removes the title indentation in certain nested container
situations. The behavior was considered broken as it didn't seem to
make sense and it was unclear why this was introduced.
Given that nobody on i3-discuss@ complained about removing this logic
within two weeks, we are now removing it to make the title rendering
code a little less complex.
fixes #2247
Ingo Bürk [Sat, 30 Apr 2016 21:04:58 +0000 (23:04 +0200)]
i3-input: Proper position in non-standard cases. (#2313)
This commit fixes two issues:
* We detect the EWMH support window from the root window. If this window
currently has the input focus, we ignore this. We do this because this
window is not a window the user is aware of and positioning relative to
it makes no sense.
* We also detect whether the current input focus is in an i3-frame window.
This can happen, e.g., when selecting a parent (split) container. Since
frame windows are direct children of the root window, we must not
translate its coordinates or we get weird results and i3-input ends up
off-screen (see #2312). For all other windows, including those without
any WM_CLASS, we proceed as before.
fixes #2312
Kyle Kneitinger [Tue, 26 Apr 2016 07:20:42 +0000 (00:20 -0700)]
Ensure config variables match on longest-length (#2306)
fixes #2235
Ingo Bürk [Tue, 26 Apr 2016 07:09:07 +0000 (09:09 +0200)]
Focus a newly managed container only if it doesn't use the globally active input model. (#2317)
fixes #1784
Ingo Bürk [Sat, 23 Apr 2016 11:43:23 +0000 (13:43 +0200)]
Update "mark" to "marks" in i3-save-tree. (#2308)
When allowing multiple marks on a container, we renamed the "mark"
field to "marks". This breaks i3-save-tree which will now filter out
the marks on a window because it doesn't match anymore. This commit
fixes that issue.
Thanks to /u/xenomachina for hinting to this issue.
Ingo Bürk [Sat, 23 Apr 2016 11:36:59 +0000 (13:36 +0200)]
Remove skipped tests. (#2305)
We simply remove these tests since they are sufficiently covered
by other testcases.
relates to #2289
Michael Stapelberg [Sat, 16 Apr 2016 13:51:44 +0000 (06:51 -0700)]
Merge pull request #2295 from Airblader/bug-2247-2
Fix rendering of marks (and smaller fixed)
Ingo Bürk [Wed, 13 Apr 2016 17:55:59 +0000 (19:55 +0200)]
Use logical_px() and fix indentation.
relates to #2247
Ingo Bürk [Wed, 13 Apr 2016 17:51:26 +0000 (19:51 +0200)]
Redraw right-hand side border correctly.
Since we don't actually stop drawing a title (or marks) with the
distance of the border width on the right side, but instead with
a hard-coded two pixel distance, we can only redraw that much of
the border without potentiall cutting off text.
relates to #2247
Ingo Bürk [Wed, 13 Apr 2016 17:48:53 +0000 (19:48 +0200)]
Only redraw right-hand side border if a non-pango font is used.
relates to #2247
Tony Crisci [Fri, 15 Apr 2016 07:27:43 +0000 (03:27 -0400)]
Cast con id as uintptr_t (#2298)
Use `uintptr_t` to cast the con id to int instead of `long int`. This
type is guaranteed to hold the pointer as an int regardless of platform.
fixes #2283
Ingo Bürk [Fri, 15 Apr 2016 07:26:42 +0000 (09:26 +0200)]
Correctly count the number of windows for no_focus. (#2296)
Previously we counted the number of (direct) children of the workspace to
decide whether no_focus should be applied or not. However, this doesn't
work correctly if there's a single container with multiple windows on the
workspace.
This patch correctly counts all windows on the workspace.
fixes #2292
Ingo Bürk [Wed, 13 Apr 2016 17:45:57 +0000 (19:45 +0200)]
Only grab the mouse buttons that need to be grabbed. (#2290)
This is a followup to #2049. While we had fixed that bug by only grabbing
buttons 4 and 5 if there is a whole-window binding for that button, this
did not consider buttons higher than 5 as found on many mice.
Therefore, we now ditch the special handling for scrollwheel buttons and
instead do the same for all buttons higher than 3.
fixes #2271
Michael Stapelberg [Wed, 13 Apr 2016 17:34:53 +0000 (10:34 -0700)]
Merge pull request #2287 from layus/fix-punned-pointer
Fix punned-pointer warning from gcc
Guillaume Maudoux [Mon, 11 Apr 2016 13:00:47 +0000 (15:00 +0200)]
Avoid hazardous casting.
Guillaume Maudoux [Mon, 11 Apr 2016 12:50:01 +0000 (14:50 +0200)]
Remove "dereferencing type-punned pointer" warning
Fix the remaining warning discussed in #1538.
This is obviously a false positive from gcc.
Ingo Bürk [Sun, 10 Apr 2016 11:15:49 +0000 (13:15 +0200)]
Update i3bar LICENSE to conform to other LICENSE files. (#2284)
This change of the LICENSE has been approved by Axel Wagner in #2281.
Michael Stapelberg [Sun, 10 Apr 2016 11:09:18 +0000 (04:09 -0700)]
Merge pull request #2278 from jolange/version-extraction
Version extraction
Michael Stapelberg [Sat, 9 Apr 2016 10:46:15 +0000 (12:46 +0200)]
travis: clean old docs before building with asciidoc git config
Michael Stapelberg [Sat, 9 Apr 2016 09:55:25 +0000 (11:55 +0200)]
cleanup-bintray: keep the most recent, not delete the most recent
Michael Stapelberg [Sun, 27 Mar 2016 19:11:30 +0000 (21:11 +0200)]
travis: build debian packages and documentation
The resulting packages are pushed to Debian repositories hosted on
bintray.com.
This is the first step to move away from our custom buildbot setup (see
https://i3wm.org/docs/buildbot.html for details on that) towards
infrastructure which is more standard (travis) and in the open.
Johannes Lange [Sun, 3 Apr 2016 12:38:08 +0000 (14:38 +0200)]
use git version information if possible, otherwise use information
from (I3_)VERSION files (for tarballs)
Johannes Lange [Sun, 3 Apr 2016 12:34:57 +0000 (14:34 +0200)]
dist tarball uses existing (I3_)VERSION file
Johannes Lange [Sun, 3 Apr 2016 12:26:01 +0000 (14:26 +0200)]
auto-creating (I3_)VERSION for each release and post-release version files
with 'non-git' suffix
fixes #1993
Johannes Lange [Sun, 3 Apr 2016 12:22:47 +0000 (14:22 +0200)]
initial (manual) version files check-in
Ingo Bürk [Thu, 7 Apr 2016 06:35:29 +0000 (08:35 +0200)]
Remove unmaintained CHANGELOG file from i3bar
wentasah [Wed, 6 Apr 2016 19:19:10 +0000 (21:19 +0200)]
Make fullscreen windows open on the output which is indicated by their geometry
With this change, multi-monitor presentations (e.g. as implemented by
LibreOffice Impress) work out of the box. Previously, one had to move
the presentation windows to the right outputs oneself.
Eric Engeström [Mon, 4 Apr 2016 07:33:59 +0000 (08:33 +0100)]
Fix spelling mistakes
Hong Xu [Mon, 4 Apr 2016 06:47:07 +0000 (23:47 -0700)]
Point out the default ipc message type in i3-msg.man
Michael Stapelberg [Fri, 1 Apr 2016 14:34:56 +0000 (16:34 +0200)]
debian: remove menu file, add lintian-overrides
Michael Stapelberg [Fri, 1 Apr 2016 13:57:41 +0000 (15:57 +0200)]
*.xsession.desktop: add Keywords=
See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=693918 and
https://wiki.gnome.org/Initiatives/GnomeGoals/DesktopFileKeywords
Michael Stapelberg [Wed, 30 Mar 2016 06:47:56 +0000 (08:47 +0200)]
Merge pull request #2243 from Xarthisius/pango_support
Add missing MAX macros, ensure that i3 can be compiled without pango
Michael Stapelberg [Thu, 24 Mar 2016 08:40:19 +0000 (09:40 +0100)]
Merge pull request #2266 from cedricbu/dmenu-death-by-failed-open
i3-dmenu-desktop: do not die on failed open
Cedric [Sun, 20 Mar 2016 11:12:11 +0000 (12:12 +0100)]
i3-dmenu-desktop: do not die on failed open
Kacper Kowalik (Xarthisius) [Tue, 8 Mar 2016 02:04:59 +0000 (20:04 -0600)]
Convert ifdef CAIRO_SUPPORT to if statements to keep consistency with common.mk
Kacper Kowalik (Xarthisius) [Tue, 8 Mar 2016 01:40:02 +0000 (19:40 -0600)]
Add missing MAX macros, ensure that i3 can be compiled without pango
Michael Stapelberg [Mon, 21 Mar 2016 19:11:35 +0000 (12:11 -0700)]
Merge pull request #2264 from ixjlyons/i3bar-protocol-typos
Fix typos in documentation.
Kenneth Lyons [Sat, 19 Mar 2016 16:54:16 +0000 (09:54 -0700)]
Fix typos in documentation.
Michael Stapelberg [Sat, 12 Mar 2016 03:02:43 +0000 (19:02 -0800)]
Merge pull request #2245 from Osse/next
Update information on where to find #i3 on IRC
Øystein Walle [Tue, 8 Mar 2016 17:02:04 +0000 (18:02 +0100)]
Update information on where to find #i3 on IRC
Michael Stapelberg [Wed, 9 Mar 2016 10:45:15 +0000 (11:45 +0100)]
Merge pull request #2244 from jubalh/desktopf
Make i3.applications.desktop file more complete
Michael Vetter [Tue, 8 Mar 2016 16:54:28 +0000 (17:54 +0100)]
Make i3.applications.desktop file more complete
Add GenericName to i3.applications.desktop file.
Michael Stapelberg [Sun, 6 Mar 2016 17:51:52 +0000 (18:51 +0100)]
travis: skip login+push for pull requests
Michael Stapelberg [Sun, 6 Mar 2016 16:02:12 +0000 (17:02 +0100)]
release.sh: clone from canonical location
This ensures the repository is up-to-date (in all branches!), hopefully
preventing merge mistakes such as the one fixed with
https://github.com/i3/i3/commit/
0e29101ae5f3753626ba447b83a9b8bd490de37e
Michael Stapelberg [Sun, 6 Mar 2016 15:59:33 +0000 (16:59 +0100)]
fix i3 4.12 merge issue in src/commands.c (Thanks Airblader)
Michael Stapelberg [Sun, 6 Mar 2016 15:31:11 +0000 (16:31 +0100)]
release.sh: update i3-announce mailing list address
Michael Stapelberg [Sun, 6 Mar 2016 15:27:49 +0000 (16:27 +0100)]
update release.sh for the 4.12 release
Michael Stapelberg [Sun, 6 Mar 2016 15:26:03 +0000 (16:26 +0100)]
debian: update changelog
Michael Stapelberg [Sun, 6 Mar 2016 15:17:28 +0000 (16:17 +0100)]
Update debian/changelog
Michael Stapelberg [Sun, 6 Mar 2016 15:17:27 +0000 (16:17 +0100)]
Merge branch 'release-4.12'
Michael Stapelberg [Sun, 6 Mar 2016 15:17:27 +0000 (16:17 +0100)]
Merge branch 'next' into master
Michael Stapelberg [Sun, 6 Mar 2016 15:17:15 +0000 (16:17 +0100)]
release i3 4.12
Michael Stapelberg [Sun, 6 Mar 2016 13:57:28 +0000 (14:57 +0100)]
debian/watch: verify signature, use https
Michael Stapelberg [Sun, 6 Mar 2016 13:48:42 +0000 (14:48 +0100)]
debian/control: bump standards-version to 3.9.7
Michael Stapelberg [Sun, 6 Mar 2016 13:46:12 +0000 (14:46 +0100)]
debian/compat: bump debhelper compat level to 9
Michael Stapelberg [Sun, 6 Mar 2016 13:45:46 +0000 (14:45 +0100)]
debian: update copyright to machine-readable copyright
Michael Stapelberg [Thu, 3 Mar 2016 08:01:49 +0000 (09:01 +0100)]
Merge pull request #2239 from wodny/xcb-32bit-properties
window_update_motif_hints(): uint32_t for fields, fixes #2238
Marcin Szewczyk [Wed, 2 Mar 2016 21:00:40 +0000 (22:00 +0100)]
window_update_motif_hints(): uint32_t for fields, fixes #2238
xcb_get_property_value() returns 32-bit property fields
Michael Stapelberg [Thu, 25 Feb 2016 20:19:14 +0000 (21:19 +0100)]
Merge pull request #2233 from Airblader/bug-2228
Revert to default binding mode before reloading the config.
Michael Stapelberg [Thu, 25 Feb 2016 20:18:55 +0000 (21:18 +0100)]
Merge pull request #2232 from Airblader/bug-2229
Determine focused workspace correctly when moving workspace to output.
Michael Stapelberg [Thu, 25 Feb 2016 20:18:29 +0000 (21:18 +0100)]
Merge pull request #2231 from Airblader/feature-2223
Introduce I3_FLOATING_WINDOW.
Ingo Bürk [Thu, 25 Feb 2016 18:28:48 +0000 (19:28 +0100)]
Revert to default binding mode before reloading the config.
If a user reloads the config while in some binding mode, the binding mode
will revert to the default, but no event will ever be fired, causing a
broken i3bar mode display.
This patch explicitly reverts to the default binding mode before reloading
the config. We reload rather than switch to the binding mode after having
reloaded the config because there's no guarantee that mode will even still
exist.
fixes #2228
Ingo Bürk [Thu, 25 Feb 2016 18:12:09 +0000 (19:12 +0100)]
Determine focused workspace correctly when moving workspace to output.
This patch correctly determines the previously focused workspace on the
target output when moving a workspace to another output. Before, we used
nodes_head for this, which will not actually return the previously focused
workspace, but just the first workspace on that output. Hence, we now use
focus_head instead.
This bug was introduced all the way back in
1e143fea when the feature of
moving workspaces to another output was first implemented.
fixes #2229