Commit Graph

6871 Commits

Author SHA1 Message Date
ee30c34b5c Fix small leak in i3bar's main
If -s is used, the socket_path returned by getenv is never freed.

Also some small rearrangements.
2019-10-14 03:54:48 +03:00
bbc4c99c72 Refactor tree_next
- Makes `tree_next` not recursive.
- Adds `focus next|prev [sibling]` command. See (1.) and (2.) in
https://github.com/i3/i3/issues/2587#issuecomment-378505551 (Issue also
requests move command, not implemented here).
- Directional focus command now supports command criteria.

Wrapping is not implemented inside a floating container. This was also
true before the refactor so I am not changing it here.
2019-10-14 03:31:24 +03:00
f402f45702 Introduce CMD_FOCUS_WARN_CHILDREN 2019-10-14 02:38:53 +03:00
1e8e4d3e7f Introduce direction / orientation / position conversion functions 2019-10-14 02:38:53 +03:00
e5c430e419 tree_move: Use direction_t 2019-10-14 02:31:11 +03:00
0cd7250f41 Add testcases/t/308-focus_wrapping.t
These tests pass with and without the following refactoring.
2019-10-14 02:30:06 +03:00
b0d6f44779 Use AC_REPLACE_FUNCS
strndup is removed from AC_CHECK_FUNCS since it will be provided if not
found.

Fixes #2610
2019-10-13 13:17:40 +03:00
70c850ac13 Remove memmem implementation
Not used after 3bd5e6e5c8
2019-10-13 13:10:06 +03:00
5f54971425 Merge pull request #3821 from orestisfl/deterministic_tray_icon_order
reorder_trayclients_cmp: Correct comment
2019-10-11 18:43:38 +02:00
98d96c3a2c reorder_trayclients_cmp: Correct comment 2019-10-11 19:32:58 +03:00
8088c357e4 Merge pull request #3820 from orestisfl/deterministic_tray_icon_order
Deterministic tray icon order
2019-10-11 17:37:42 +02:00
eda814755a Make tray icon order deterministic
Fixes #3573
2019-10-11 18:25:22 +03:00
d5a3b8af02 Introduce trayclient_and_output_from_window
Saves some code repetition
2019-10-11 16:12:48 +03:00
0b4d4e799b Merge pull request #3817 from orestisfl/rect
Remove outdated comment from Rect
2019-10-09 16:12:40 +03:00
961f98eb15 Remove outdated comment from Rect
This has changed after #3787.

The packed attribute was added in
75aac5bc02 for _NET_WORKAREA. However,
eec80838ab removed _NET_WORKAREA support.
I did some quick greping for `memcpy.+Rect` and didn't find any similar
code that could theoretically lead to problems.
2019-10-09 16:08:18 +03:00
736ac40b10 Merge pull request #3814 from orestisfl/net_active_fullscreen
handlers.c: new focus should not end up behind fullscreen
2019-10-09 13:25:38 +02:00
5e1094e994 Merge pull request #3815 from xzfc/3694-baf-rename
When renaming a workspace, update the previous_workspace_name too
2019-10-09 12:38:48 +03:00
ea216f88d8 Merge pull request #3559 from xzfc/3555-drag-threshold
Drag threshold
2019-10-09 12:38:30 +03:00
7e4eb51d23 When renaming a workspace, update the previous_workspace_name too
Fixes #3694
2019-10-09 08:09:24 +00:00
6f82d21c39 handlers.c: new focus should not end up behind fullscreen
This was raised here:
https://www.reddit.com/r/i3wm/comments/df18aa/popup_during_fullscreen_not_behaving_the_way_i/

With this commit, _NET_ACTIVE_WINDOW requests are more similar to
focusing with cmd_focus.
2019-10-09 02:38:40 +03:00
34c217acc8 Introduce con_activate_unblock 2019-10-09 02:31:52 +03:00
465447a96b Merge pull request #3812 from xzfc/move-to-parent
Fix "move con to parent" trick
2019-10-08 11:54:40 +03:00
beb96ad18c Move container to marked workspace: refine corner case
This commit should fix "move con to parent" trick (see below) in the
case when con->parent->parent is a workspace.

The trick:

    mark _a, focus parent, focus parent, mark _b,
    [con_mark=_a] move window to mark _b, [con_mark=_a] focus

The trick got broken in commit 626af81232
in order to fix an i3 crash (#2003).  Reverting said commit fixes the
trick.  The crash is caused by the fact that empty workspace isn't
considered a split (checked in src/con.c:1324), so the moved window ends
up as a sibling of the target workspace, not as its child.
2019-10-07 18:15:03 +00:00
ba0868e593 Merge pull request #3728 from cdlscpmv/next
Add setting for minimal width of workspace buttons
2019-10-06 00:22:44 +02:00
371dc23101 Tiling resize drag: use threshold 2019-10-03 06:09:57 +00:00
c6b56b09ab Floating move drag: use threshold 2019-10-03 06:09:57 +00:00
551ec20941 drag_pointer(): add use_treshold parameter 2019-10-03 06:09:57 +00:00
2795c51d4b drag_pointer(): drop unused parameter border 2019-10-03 06:05:34 +00:00
454473ac6c Move drag_pointer() to its own source file
Move drag_pointer() and related definitions from floating.c to new file
drag_pointer.c since it's applicable not only to floating windows but
also to resizing of tiled windows.
2019-10-03 06:05:34 +00:00
d22f0342b2 Merge pull request #3809 from xzfc/3606-floating-xterm
Fix regression: floating xterm created partially off screen
2019-10-02 10:52:40 +03:00
67217822b8 do not try to center floating window on itself
Some apps including XTerm start with a WM_CLIENT_LEADER property
containing their own window ID.  Before this commit, i3 tried to center
such windows onto itself and did it wrong since
`leader->rect == {0,0,0,0}` at this moment.

The first affected commit is 128122e766,
however, before it such windows already was misplaced, but got sanitized
afterward [1].

[1]: 8a3ef3a81b/src/floating.c (L329-L335)

Fixes #3606
2019-10-02 04:00:05 +00:00
94fdb92d7c Merge pull request #3799 from xzfc/3527-workspace-number
extract_workspace_names_from_bindings: handle optional flags
2019-09-28 08:41:27 +03:00
46cf9fb91b feat: add window_type to ipc response 2019-09-27 15:44:13 +10:00
ff73ddeeee extract_workspace_names_from_bindings: handle optional flags
fixes #3527
2019-09-23 08:21:30 +00:00
7db0d179a3 Merge pull request #3784 from Iskustvo/next
Added documentation for "fullscreen_mode" in GET_TREE reply.
2019-09-20 23:23:31 +02:00
cfb74c01ff Merge pull request #3783 from erwinvaneijk/fix_lcov_version
fix lcov support
2019-09-03 11:52:20 +03:00
0e73396d28 Merge pull request #3787 from orestisfl/rect
Remove packed attribute from Rect
2019-09-03 09:59:34 +02:00
a73510026f Remove packed attribute from Rect
Fixes #3785 -- the issue where the Travis build failed because of gcc's
-Werror=address-of-packed-member.

Adds an equality function to avoid relying on memcmp().
2019-09-03 10:43:36 +03:00
148bdeefdc Added documentation for "fullscreen_mode" in GET_TREE reply. 2019-09-02 19:58:22 +02:00
1e4ffcafaa fix lcov support
Ubuntu 18.10 comes with lcov 1.13, which is now added.
2019-09-01 19:19:12 +02:00
39a65166c4 update debian/changelog 2019-08-30 23:46:42 +02:00
c0f987fd66 Update debian/changelog 2019-08-30 23:06:59 +02:00
2ec14630fd Merge branch 'master' into next 2019-08-30 23:06:59 +02:00
225ebb0d58 Merge branch 'release-4.17.1' 2019-08-30 23:06:59 +02:00
942a33d0ec Set non-git version to 4.17.1-non-git. 2019-08-30 23:06:59 +02:00
f0f3821ff0 release i3 4.17.1 2019-08-30 23:06:47 +02:00
e6662df114 default config: use workspace number, not just workspace
This is strictly better: if the configured name does not match the current name,
the correct workspace will still be used.

When creating a new workspace, the configured name is still used.
2019-08-30 18:06:11 +02:00
1059277f28 default config: mention loginctl lock-session alongside xss-lock 2019-08-30 18:05:58 +02:00
3d7b25a857 default config: add XF86AudioMicMute 2019-08-30 18:05:55 +02:00
fced643980 default config: immediately refresh i3status after volume changes 2019-08-30 18:05:52 +02:00