]> git.sur5r.net Git - i3/i3/log
i3/i3
5 years agoCode style: fix misaligned and misindented comments 3549/head
Albert Safin [Sun, 9 Dec 2018 00:06:29 +0000 (07:06 +0700)]
Code style: fix misaligned and misindented comments

5 years agoRemove unused con_get_next()
Albert Safin [Sat, 8 Dec 2018 23:15:53 +0000 (06:15 +0700)]
Remove unused con_get_next()

This function has unused for a long time since the commit
8f4b9ddaa43ae61932fd702ad7178c2b4e07cfb9.

5 years agoRemove unnecessary code in route_click()
Albert Safin [Thu, 6 Dec 2018 15:39:57 +0000 (22:39 +0700)]
Remove unnecessary code in route_click()

This case is handled by resize_find_tiling_participants() anyway which
is introduced in the commit dbec5eb90585bc22752331f51d8a6bc90d21889c.

5 years agocommands.c: Add missing error replies
Albert Safin [Sat, 8 Dec 2018 12:20:55 +0000 (19:20 +0700)]
commands.c: Add missing error replies

5 years agoMerge pull request #3547 from stapelberg/conn
Orestis [Sat, 8 Dec 2018 12:49:04 +0000 (14:49 +0200)]
Merge pull request #3547 from stapelberg/conn

Bugfix: use restore_conn, not conn

5 years agoBugfix: use restore_conn, not conn 3547/head
Michael Stapelberg [Sat, 8 Dec 2018 12:31:53 +0000 (13:31 +0100)]
Bugfix: use restore_conn, not conn

Using the wrong X11 connection breaks the libev event handling model:
xcb_flush() must be called immediately before handing control to libev.

Before this fix:

1. xcb_prepare_cb would read and flush conn
2. restore_xcb_prepare_cb would read and flush restore_conn,
   BUT also inadvertantly call xcb_flush(conn), resulting in new
   events being filled into the XCB event queue
3. libev waits for new events
4. after 1 minute, libev times out and the events are processed

Diagnosed using strace on testcases/complete-run.pl.

related to commit 0d8b6714e39af81cbd6f4fbad500872a715dea24

related to #3510

5 years agoMerge pull request #3541 from orestisf1993/title_align
Orestis [Wed, 5 Dec 2018 11:09:09 +0000 (13:09 +0200)]
Merge pull request #3541 from orestisf1993/title_align

Apply title_align to non-leaf containers

5 years agoApply title_align to non-leaf containers 3541/head
Orestis Floros [Tue, 4 Dec 2018 18:50:32 +0000 (20:50 +0200)]
Apply title_align to non-leaf containers

Additionally, marks will now display for non-leaf containers.

Fixes #3540.

5 years agoMerge pull request #3514 from xzfc/2742-shape
Ingo Bürk [Mon, 3 Dec 2018 19:16:47 +0000 (20:16 +0100)]
Merge pull request #3514 from xzfc/2742-shape

Add input and bounding shapes support (#2742)

5 years agoAdd input and bounding shapes support (#2742) 3514/head
Albert Safin [Thu, 8 Nov 2018 23:19:08 +0000 (06:19 +0700)]
Add input and bounding shapes support (#2742)

Basic idea: if the window has a shape, set the parent container shape as
the union of the window shape and the shape of the frame borders.

Co-authored-by: Uli Schlachter <psychon@znc.in>
5 years agoLog window id in state_for_frame()
Albert Safin [Fri, 9 Nov 2018 11:43:25 +0000 (18:43 +0700)]
Log window id in state_for_frame()

5 years agoswitch to clang-format-6.0 (#3533)
Michael Stapelberg [Wed, 28 Nov 2018 16:38:16 +0000 (17:38 +0100)]
switch to clang-format-6.0 (#3533)

5 years agoMerge pull request #3432 from orestisf1993/aspect-ratio
Ingo Bürk [Sat, 17 Nov 2018 15:08:22 +0000 (16:08 +0100)]
Merge pull request #3432 from orestisf1993/aspect-ratio

 Fix aspect ratio bugs

5 years agoMerge pull request #3524 from orestisf1993/regress-randr
Ingo Bürk [Thu, 15 Nov 2018 11:57:59 +0000 (12:57 +0100)]
Merge pull request #3524 from orestisf1993/regress-randr

randr.c: Fix regression with focusing NULL container

5 years agorandr.c: Fix regression with focusing NULL container 3524/head
Orestis Floros [Thu, 15 Nov 2018 11:48:14 +0000 (13:48 +0200)]
randr.c: Fix regression with focusing NULL container

This was introduced in db3b9e41874400958cf85b461a5d1ff04a398fa3 which
removed the NULL check for next.

Fixes #3523.

5 years agoMerge pull request #3521 from c-edw/feature/StripWorkspaceDocs
Ingo Bürk [Tue, 13 Nov 2018 09:24:11 +0000 (10:24 +0100)]
Merge pull request #3521 from c-edw/feature/StripWorkspaceDocs

Update userguide docs for strip_workspace_*.

5 years agoUpdate userguide docs for strip_workspace_*. 3521/head
Connor E [Tue, 13 Nov 2018 08:46:16 +0000 (08:46 +0000)]
Update userguide docs for strip_workspace_*.

5 years agoRe-render floating cons alone when possible 3432/head
Orestis Floros [Mon, 1 Oct 2018 23:15:59 +0000 (02:15 +0300)]
Re-render floating cons alone when possible

5 years agorender_con: Get rid of render_fullscreen argument
Orestis Floros [Mon, 1 Oct 2018 23:13:51 +0000 (02:13 +0300)]
render_con: Get rid of render_fullscreen argument

Only true for the fullscreen container and doesn't affect any of its
children. Thus, we can get the same result by checking
->fullscreen_mode.

5 years agoFix aspect ratio bugs
Orestis Floros [Mon, 1 Oct 2018 16:47:33 +0000 (19:47 +0300)]
Fix aspect ratio bugs

- ICCCM says: > If a base size is not provided, the minimum size is to
be used in its place and vice versa.
i3 didn't obey the "vice versa" part. Min size and base size are both
saved without replacements in window_update_normal_hints,
floating_check_size makes the needed replacements if either was not
provided.
- Aspect ratio is now saved correctly in manage_window because
window_update_normal_hints is called.
- i3 didn't save the aspect ratio if the window conformed the given
aspect ratio range when handle_normal_hints was called. If the window
was resized to a size outside of the given bounds, i3 didn't correct it.
- Aspect ratio now affects only tiling windows, like the rest of the
normal size hints
- The aspect ratio calculation is now done without a loop

A real life example of how these changes affect the workflow:
An mpv window, when playing a video, sets its min == max aspect ratio
during mapping. i3 ignored these hints. When resized, the window's
aspect ratio was not preserved. With this commit, resizing floating mpv
windows will always preserve the aspect ratio.

5 years agofloating_resize: Use uint32_t
Orestis Floros [Mon, 1 Oct 2018 22:52:31 +0000 (01:52 +0300)]
floating_resize: Use uint32_t

5 years agofloating_check_size: Use window variable
Orestis Floros [Mon, 1 Oct 2018 12:42:53 +0000 (15:42 +0300)]
floating_check_size: Use window variable

5 years agoMerge pull request #3484 from xzfc/3476-export-i3sock
Ingo Bürk [Sat, 10 Nov 2018 21:12:01 +0000 (22:12 +0100)]
Merge pull request #3484 from xzfc/3476-export-i3sock

Export I3SOCK

5 years agoMerge pull request #3397 from orestisf1993/randr-enable-disable
Ingo Bürk [Sat, 10 Nov 2018 20:56:34 +0000 (21:56 +0100)]
Merge pull request #3397 from orestisf1993/randr-enable-disable

Fix bugs in enabling & disabling randr outputs

5 years agoMerge pull request #3516 from orestisf1993/truncate-utf8
Ingo Bürk [Fri, 9 Nov 2018 20:01:57 +0000 (21:01 +0100)]
Merge pull request #3516 from orestisf1993/truncate-utf8

Truncate wm_name utf8 strings to first zero byte

5 years agoTruncate wm_name utf8 strings to first zero byte 3516/head
Orestis Floros [Fri, 9 Nov 2018 17:41:31 +0000 (19:41 +0200)]
Truncate wm_name utf8 strings to first zero byte

Fixes #3515

5 years agoMerge pull request #3511 from aksel/247-gaps-resize-fix
Orestis [Thu, 8 Nov 2018 22:31:06 +0000 (00:31 +0200)]
Merge pull request #3511 from aksel/247-gaps-resize-fix

For resizing, convert pixel diff to percentage, based on parent.

5 years agoFor resizing, convert pixel diff to percentage, based on parent. 3511/head
aksel [Wed, 7 Nov 2018 21:49:04 +0000 (22:49 +0100)]
For resizing, convert pixel diff to percentage, based on parent.

Previously, it first calculated one of the containers' next percentage, and then subtracted the previous percentage to find the actual change.

Now it directly calculates the change, and subtracts and adds the change to the two affected containers.

Added util function con_rect_size_in_orientation.

Removed px_resize_to_percent; inlined, using con_rect_size_in_orientation.

Also, prematurely return when pixel diff is 0, as no action is necessary.

This is related to [this issue on i3-gaps](https://github.com/Airblader/i3/issues/247).

5 years agoMerge pull request #2954 from orestisf1993/swap-for-floating
Ingo Bürk [Wed, 7 Nov 2018 13:13:41 +0000 (13:13 +0000)]
Merge pull request #2954 from orestisf1993/swap-for-floating

Rewrite con_swap to work only with queue operations

5 years agoMerge pull request #3508 from orestisf1993/load_layout-marks
Ingo Bürk [Wed, 7 Nov 2018 07:11:21 +0000 (07:11 +0000)]
Merge pull request #3508 from orestisf1993/load_layout-marks

load_layout: Correctly mark non-leaf containers

5 years agoload_layout: Correctly mark non-leaf containers 3508/head
Orestis Floros [Tue, 6 Nov 2018 23:06:20 +0000 (01:06 +0200)]
load_layout: Correctly mark non-leaf containers

Example problematic layout:
    {
        "layout": "splith",
        "marks": ["H1"],
        "nodes": [
            {
                "swallows": [
                    {
                        "class": "^a$"
                    }
                ]
            }
        ]
    }

Since the marks were added to the json_node during end_map, the
container that ended up getting the "H1" mark was the child instead of
the parent.

5 years agoMerge pull request #3482 from hamishimac/next
Ingo Bürk [Mon, 5 Nov 2018 21:32:54 +0000 (22:32 +0100)]
Merge pull request #3482 from hamishimac/next

Do not assume STDIN_FILENO is available for input from child

5 years agoMerge pull request #3504 from Foxboron/morten/i3-man-path
Ingo Bürk [Mon, 5 Nov 2018 21:32:27 +0000 (22:32 +0100)]
Merge pull request #3504 from Foxboron/morten/i3-man-path

Change config order in manpage

5 years agoMerge pull request #3485 from xzfc/3412-outer-border
Ingo Bürk [Mon, 5 Nov 2018 21:31:35 +0000 (22:31 +0100)]
Merge pull request #3485 from xzfc/3412-outer-border

Draw outer header borders for all layouts

5 years agoMerge pull request #3505 from stapelberg/release-docs
Orestis [Mon, 5 Nov 2018 18:45:59 +0000 (20:45 +0200)]
Merge pull request #3505 from stapelberg/release-docs

release.sh: save docs first

5 years agorelease.sh: save docs first 3505/head
Michael Stapelberg [Mon, 5 Nov 2018 18:32:29 +0000 (19:32 +0100)]
release.sh: save docs first

Otherwise, as @orestisf1993 pointed out, the saved documentation will have the
wrong version number.

5 years agoDraw outer header borders for all layouts 3485/head
Albert Safin [Sat, 27 Oct 2018 11:32:25 +0000 (18:32 +0700)]
Draw outer header borders for all layouts

5 years agoChange config order in manpage 3504/head
Morten Linderud [Mon, 5 Nov 2018 13:09:01 +0000 (14:09 +0100)]
Change config order in manpage

This brings the headline for the configuration files inline with the
recent move to XDG directories.

Signed-off-by: Morten Linderud <morten@linderud.pw>
5 years agoMerge pull request #3499 from orestisf1993/docs
Ingo Bürk [Sun, 4 Nov 2018 14:53:15 +0000 (15:53 +0100)]
Merge pull request #3499 from orestisf1993/docs

userguide: break long comment

5 years agotravis: move (failing) ubuntu build from xenial to bionic
Michael Stapelberg [Sun, 4 Nov 2018 14:24:10 +0000 (15:24 +0100)]
travis: move (failing) ubuntu build from xenial to bionic

Ubuntu’s apt started refusing to load package files from unauthenticated
repositories, but the package for which we did that (xcb-xrm) is available in
newer versions of Ubuntu, so I just removed that part altogether.

Apparently this has been broken since April, and nobody noticed :-/

5 years agoupdate release.sh for the 4.16 release
Michael Stapelberg [Sun, 4 Nov 2018 14:07:24 +0000 (15:07 +0100)]
update release.sh for the 4.16 release

5 years agoupdate debian/changelog
Michael Stapelberg [Sun, 4 Nov 2018 13:55:50 +0000 (14:55 +0100)]
update debian/changelog

5 years agoMerge branch 'release-4.16'
Michael Stapelberg [Sun, 4 Nov 2018 13:47:46 +0000 (14:47 +0100)]
Merge branch 'release-4.16'

5 years agoSet non-git version to 4.16-non-git.
Michael Stapelberg [Sun, 4 Nov 2018 13:47:46 +0000 (14:47 +0100)]
Set non-git version to 4.16-non-git.

5 years agorelease i3 4.16 4.16
Michael Stapelberg [Sun, 4 Nov 2018 13:47:34 +0000 (14:47 +0100)]
release i3 4.16

5 years agouserguide: break long comment 3499/head
Orestis Floros [Sun, 4 Nov 2018 10:21:52 +0000 (12:21 +0200)]
userguide: break long comment

5 years agoUpdate ewmh focused only when new focus is different (#3496)
Orestis [Sat, 3 Nov 2018 12:39:49 +0000 (14:39 +0200)]
Update ewmh focused only when new focus is different (#3496)

Fixes #3495.

5 years agoMerge pull request #3497 from stapelberg/clang-format
Orestis [Sat, 3 Nov 2018 08:42:50 +0000 (10:42 +0200)]
Merge pull request #3497 from stapelberg/clang-format

switch to clang-format-4.0

5 years agoswitch to clang-format-4.0 3497/head
Michael Stapelberg [Sat, 3 Nov 2018 08:16:16 +0000 (09:16 +0100)]
switch to clang-format-4.0

clang-format-3.8 is old enough to have vanished from Debian testing, which we
use for our CI.

6 years agoMerge pull request #3486 from orestisf1993/regress-move-floating
Ingo Bürk [Mon, 29 Oct 2018 13:59:25 +0000 (14:59 +0100)]
Merge pull request #3486 from orestisf1993/regress-move-floating

Fix regression with moving floating windows

6 years agoFix regression with moving floating windows 3486/head
Orestis Floros [Mon, 29 Oct 2018 13:46:28 +0000 (15:46 +0200)]
Fix regression with moving floating windows

This fixes a regression introduced in 6d983b5. Consider 2 outputs:
fake-0: workspace '1'
fake-1: workspaces '2','3'
Workspace 1 focused, workspace 2 visible.
Open a floating window in 1 and move it to 3. Now, the floating window
appears in workspace 2 and disappears once focus is switched to
that workspace.

Instead of focusing 'old_focus' which might refer to a container in a
different output, we should restore focus by focusing the previously
focused workspace of the output.

6 years agoMerge pull request #3483 from soumya92/next
Ingo Bürk [Fri, 26 Oct 2018 18:46:53 +0000 (20:46 +0200)]
Merge pull request #3483 from soumya92/next

Update badges in README

6 years agoUpdate badges in README 3483/head
Soumya [Fri, 26 Oct 2018 16:58:04 +0000 (09:58 -0700)]
Update badges in README

issuestats.com seems to have moved on, using shields.io instead.

6 years agoDo not assume STDIN_FILENO is available for input from child 3482/head
Hamish Macdonald [Fri, 26 Oct 2018 13:31:43 +0000 (09:31 -0400)]
Do not assume STDIN_FILENO is available for input from child

6 years agoExport I3SOCK (#3476) 3484/head
Albert Safin [Fri, 26 Oct 2018 08:40:59 +0000 (15:40 +0700)]
Export I3SOCK (#3476)

6 years agoMerge pull request #3465 from soumya92/next
Ingo Bürk [Fri, 26 Oct 2018 07:49:35 +0000 (09:49 +0200)]
Merge pull request #3465 from soumya92/next

Add "modifiers" to events sent by i3bar

6 years agoAdd "modifiers" to events sent by i3bar 3465/head
Soumya [Thu, 25 Oct 2018 16:05:17 +0000 (09:05 -0700)]
Add "modifiers" to events sent by i3bar

6 years agoMerge pull request #3473 from soumya92/pango-font-alignment
Orestis [Wed, 24 Oct 2018 19:57:31 +0000 (22:57 +0300)]
Merge pull request #3473 from soumya92/pango-font-alignment

Always center text vertically

6 years agoMerge pull request #3475 from Gravemind/fix-i3bar-re-hidden-on-any-modifier
Orestis [Tue, 23 Oct 2018 15:41:11 +0000 (18:41 +0300)]
Merge pull request #3475 from Gravemind/fix-i3bar-re-hidden-on-any-modifier

i3bar: Fix i3bar re-hidden by any modifier (#3474)

6 years agoMerge pull request #3452 from orestisf1993/title_align
Ingo Bürk [Tue, 23 Oct 2018 14:41:54 +0000 (16:41 +0200)]
Merge pull request #3452 from orestisf1993/title_align

Add title_align config directive

6 years agoMerge pull request #3451 from orestisf1993/tray
Ingo Bürk [Tue, 23 Oct 2018 13:45:45 +0000 (15:45 +0200)]
Merge pull request #3451 from orestisf1993/tray

Close & reopen tray selwin when needed

6 years agoClose & reopen tray selwin when needed 3451/head
Orestis Floros [Thu, 11 Oct 2018 20:19:21 +0000 (23:19 +0300)]
Close & reopen tray selwin when needed

Fixes #1329
Fixes #3317 (duplicate)
Examples where the tray "disappeared":
- Start without a "tray_output", reload config with "tray_output none",
remove "tray_output none" and reload.
- Start with "tray_output primary" (or "tray_output <output>"), disable
the primary output and then reconnect it.

Fixes #2010
Cached in output_for_tray

6 years agoMerge pull request #3469 from yablonsky/patch-1
Ingo Bürk [Tue, 23 Oct 2018 13:37:12 +0000 (15:37 +0200)]
Merge pull request #3469 from yablonsky/patch-1

Update userguide "Focus Parent": add the default

6 years agoMerge pull request #3448 from orestisf1993/sticky
Ingo Bürk [Tue, 23 Oct 2018 13:31:57 +0000 (15:31 +0200)]
Merge pull request #3448 from orestisf1993/sticky

Fix sticky focus when switching to workspace on different output

6 years agoMerge pull request #3445 from orestisf1993/flaky
Ingo Bürk [Tue, 23 Oct 2018 13:30:11 +0000 (15:30 +0200)]
Merge pull request #3445 from orestisf1993/flaky

Fix flakyness in t/189-floating-constraints.t

6 years agoMerge pull request #3444 from orestisf1993/move
Ingo Bürk [Tue, 23 Oct 2018 13:29:48 +0000 (15:29 +0200)]
Merge pull request #3444 from orestisf1993/move

Some move.c fixes

6 years agoMerge pull request #3433 from orestisf1993/janitorial
Ingo Bürk [Tue, 23 Oct 2018 13:27:50 +0000 (15:27 +0200)]
Merge pull request #3433 from orestisf1993/janitorial

Janitorial

6 years agoi3bar: Fix i3bar re-hidden by any modifier (#3474) 3475/head
Gravemind [Tue, 23 Oct 2018 13:15:07 +0000 (15:15 +0200)]
i3bar: Fix i3bar re-hidden by any modifier (#3474)

The bug was introduced in 4.15-next fe6b3b7474

6 years agoAlways center text vertically 3473/head
Soumya [Mon, 22 Oct 2018 18:47:41 +0000 (11:47 -0700)]
Always center text vertically

6 years agoadd missing parenthesis 3469/head
Andriy Yablonskyy [Sun, 21 Oct 2018 17:42:19 +0000 (13:42 -0400)]
add missing parenthesis

6 years agoUpdate userguide "Focus Parent": add the default
Andriy Yablonskyy [Sun, 21 Oct 2018 17:38:58 +0000 (13:38 -0400)]
Update userguide "Focus Parent": add the default

While reading the UserGuide, I had to refer to the TL;DR image on top to find the default keybind for "Focus Parent" since it's not mentioned in the text.
This pr fixes it.

6 years agoMerge pull request #3467 from orestisf1993/userguide
Ingo Bürk [Sun, 21 Oct 2018 10:28:11 +0000 (12:28 +0200)]
Merge pull request #3467 from orestisf1993/userguide

userguide: Use anchor for list of commands

6 years agouserguide: Use anchor for list of commands 3467/head
Orestis Floros [Sun, 21 Oct 2018 10:20:45 +0000 (13:20 +0300)]
userguide: Use anchor for list of commands

Fixes #3464

6 years agodebian/control: remove dependency on x11-utils (#3455)
Michael Stapelberg [Mon, 15 Oct 2018 16:00:43 +0000 (18:00 +0200)]
debian/control: remove dependency on x11-utils (#3455)

This was a introduce in commit a61e34d2771fffdf2d94ee69d887585087c76b98 in 2009,
and we haven’t used xmessage in any way in a long time.

fixes https://bugs.debian.org/910997

6 years agoMerge pull request #3456 from stapelberg/travis
Orestis [Mon, 15 Oct 2018 08:16:20 +0000 (11:16 +0300)]
Merge pull request #3456 from stapelberg/travis

travis: fix mk-build-deps call by providing changelog file

6 years agotravis: fix mk-build-deps call by providing changelog file 3456/head
Michael Stapelberg [Mon, 15 Oct 2018 06:40:00 +0000 (08:40 +0200)]
travis: fix mk-build-deps call by providing changelog file

mk-build-deps started using the changelog file to get the version number, but a
bug prevents it from falling back correctly to 1.0 if no changelog is
present. This has been fixed upstream in
https://salsa.debian.org/debian/devscripts/commit/4b15abd4f0cfe4accbf28f24546891867344a73c,
but we can just ship the changelog file until that fix lands.

6 years agoFix typo: childs -> children 3433/head
Orestis Floros [Wed, 10 Oct 2018 15:31:03 +0000 (18:31 +0300)]
Fix typo: childs -> children

6 years agofloating_reposition: avoid extra tree_render
Orestis Floros [Fri, 5 Oct 2018 11:29:29 +0000 (14:29 +0300)]
floating_reposition: avoid extra tree_render

6 years agoUse open_floating_window arguments for rect
Orestis Floros [Wed, 10 Oct 2018 12:26:04 +0000 (15:26 +0300)]
Use open_floating_window arguments for rect

6 years agomanage_window: cleaner variable declarations
Orestis Floros [Thu, 4 Oct 2018 12:29:18 +0000 (15:29 +0300)]
manage_window: cleaner variable declarations

6 years agoborders_to_hide doesn't need to be initialized
Orestis Floros [Thu, 4 Oct 2018 12:02:37 +0000 (15:02 +0300)]
borders_to_hide doesn't need to be initialized

6 years agoroot is externally declared
Orestis Floros [Wed, 3 Oct 2018 13:20:46 +0000 (16:20 +0300)]
root is externally declared

6 years agoUse lround instead of (long)round
Orestis Floros [Wed, 3 Oct 2018 13:20:25 +0000 (16:20 +0300)]
Use lround instead of (long)round

6 years agoMake comment style more consistent
Orestis Floros [Sat, 21 Apr 2018 10:02:14 +0000 (13:02 +0300)]
Make comment style more consistent

6 years agoFix missing prototypes
Orestis Floros [Fri, 20 Apr 2018 23:28:31 +0000 (02:28 +0300)]
Fix missing prototypes

i3 will now compile with no warnings when -Wmissing-prototypes is used.

6 years agoEnforce strict prototypes
Orestis Floros [Fri, 20 Apr 2018 23:00:10 +0000 (02:00 +0300)]
Enforce strict prototypes

i3 will now compile with no warnings when -Wstrict-prototypes is used.

6 years agoUse path_exists
Orestis Floros [Wed, 1 Aug 2018 15:12:55 +0000 (18:12 +0300)]
Use path_exists

6 years agoReduce some code around frees
Orestis Floros [Wed, 1 Aug 2018 15:08:26 +0000 (18:08 +0300)]
Reduce some code around frees

6 years agoMerge pull request #3454 from alanbarr/cppcheck_fixes_2
Orestis [Sat, 13 Oct 2018 18:07:17 +0000 (21:07 +0300)]
Merge pull request #3454 from alanbarr/cppcheck_fixes_2

Cppcheck Fixes

6 years agoFixes for undefined behaviour on signed shift (#3453)
Alan Barr [Sat, 13 Oct 2018 18:04:40 +0000 (19:04 +0100)]
Fixes for undefined behaviour on signed shift (#3453)

Fixes for undefined behaviour on signed shift

Change literal 1 to unsigned to allow safe bitshift of 31.
Caught by cppcheck.

Make 0xFF unsigned to prevent a left shift into signed bit.
Spotted by @orestisf1993

6 years agoTypecast void* before doing pointer arithmetic 3454/head
Alan Barr [Sat, 13 Oct 2018 15:49:41 +0000 (16:49 +0100)]
Typecast void* before doing pointer arithmetic

Caught by cppcheck

6 years agoRemove redundant NULL check
Alan Barr [Thu, 11 Oct 2018 22:28:30 +0000 (23:28 +0100)]
Remove redundant NULL check

copy has been used before this point - so it is too late to be concerned
about a NULL pointer now.

This is OK as sstrdup() calls err() on NULL return from the underlying
strdup() call.

Raised by cppcheck.

6 years agoAdd title_align config directive 3452/head
Aestek [Sun, 22 Apr 2018 01:55:37 +0000 (03:55 +0200)]
Add title_align config directive

Controls the window titles alignment in title bars. Possible values are:
- left
- center
- right

Co-authored-by: Orestis Floros <orestisf1993@gmail.com>
- Made title_align a config directive instead of a command. Helps with
some tree_render() issues we had.
- Made title_max_width the same for all 3 cases.
- Modified title offset calculations and added explanations for each
case.
- Append title_padding to mark_width if a mark exists.

Fixes #1750

6 years agoFix sticky focus when switching to workspace on different output 3448/head
Orestis Floros [Thu, 11 Oct 2018 09:06:17 +0000 (12:06 +0300)]
Fix sticky focus when switching to workspace on different output

See the testcase for the exact steps to reproduce the problem.

6 years agooutput_push_sticky_windows: Make a bit easier to understand
Orestis Floros [Thu, 11 Oct 2018 09:05:31 +0000 (12:05 +0300)]
output_push_sticky_windows: Make a bit easier to understand

6 years ago285-sticky.t: Use kill_all_windows
Orestis Floros [Wed, 10 Oct 2018 22:21:56 +0000 (01:21 +0300)]
285-sticky.t: Use kill_all_windows

6 years agoFix flakyness in t/189-floating-constraints.t 3445/head
Orestis Floros [Wed, 10 Oct 2018 16:14:26 +0000 (19:14 +0300)]
Fix flakyness in t/189-floating-constraints.t

Related to #3009.

6 years agoRewrite con_swap to work only with queue operations 2954/head
Orestis Floros [Wed, 6 Sep 2017 02:44:09 +0000 (05:44 +0300)]
Rewrite con_swap to work only with queue operations

Benefits are that we don't open a fake container and don't call many
complicated functions that can lead to redraws (x_push_changes calls) as
discussed in #2954.

Fixes #2810:
Windows exchange floating mode & window rects.
Swap will still not work with CT_FLOATING_CONs but this doesn't make
much sense.

Fixes #3280:
The behaviour is not very user friendly but swap behaves exactly as it
should. The rest is a tree_flatten issue. Attached pictures in #2954.

6 years agotree_move: Don't change focus order when swapping containers 3444/head
Orestis Floros [Tue, 9 Oct 2018 19:39:38 +0000 (22:39 +0300)]
tree_move: Don't change focus order when swapping containers

The call to ewmh_update_wm_desktop is removed since the change happens
under the same parent.

6 years agomove.c: Fix move_to_output_directed problems
Orestis Floros [Tue, 9 Oct 2018 18:45:59 +0000 (21:45 +0300)]
move.c: Fix move_to_output_directed problems

- Use workspace_show that correctly updates _NET_CURRENT_DESKTOP, warps
mouse.
- Use TAILQ_INSERT_TAIL only for focus_head. Focus order is not related
to direction.
- Call con_focus only if con was focused before. See testcase for
directional move with command criteria.
- Correct first call of move_to_output_directed in tree_move which
didn't call ipc_send_window_event("move", con) and
ewmh_update_wm_desktop().
- Don't produce events when the move doesn't happen. Correct
276-ipc-window-move.t as well.