Commit graph

5089 commits

Author SHA1 Message Date
Ryan Dwyer 641fbe576e When scrolling on a tab titlebar, set focus_inactive if not focused
For example, create layout H[view T[view view view]], focus the view in
the hsplit and scroll the mouse wheel over the tab title bars. Prior to
this patch, focus would be given to a descendant of the tabbed
container. This patch keeps the focus on the hsplit view.

This also renames some of the variables used in this part of the code to
make it be easier to follow.
2018-10-24 23:59:09 +10:00
Drew DeVault 46fc4ba4e3
Merge pull request #2957 from RyanDwyer/rebase-cursor-after-map
Rebase the cursor after mapping a view
2018-10-24 15:45:47 +02:00
Drew DeVault 2fa767ab57
Merge pull request #2954 from RyanDwyer/cursor-rebase-after-focus-direction
Rebase the cursor after focusing in a direction
2018-10-24 15:45:02 +02:00
emersion f2082a3d4c
Merge pull request #2961 from RyanDwyer/swaylock-multiseat
Add multiseat support to swaylock
2018-10-24 14:33:33 +02:00
Ryan Dwyer 17bb39cd49 Add multiseat support to swaylock 2018-10-24 22:04:16 +10:00
Ryan Dwyer bdae625cb3 Rebase the cursor after mapping a view
I originally put the rebase at the end of view_map, but at this point
the view is still at its native size and will ignore the motion event if
it falls outside of its native size. The only way to do this properly is
to rebase the cursor later - either after sending the configure, after
the view commits with the new size, or after applying the transaction. I
chose to do it after applying the transaction for simplicity.

I then attempted to just call cursor_rebase after applying every
transaction, but this causes crashes when exiting sway (and possibly
other places) because cursor_rebase assumes the tree is in a valid
state.

So my chosen solution introduces transaction_commit_dirty_with_callback
which allows handle_map to register a callback which will run when the
transaction is applied.
2018-10-24 19:38:52 +10:00
Ryan Dwyer 3c7fd145d5 Rebase the cursor after focusing in a direction
Prior to this patch, creating a tabbed container with two views,
switching tab and then scrolling without motion would cause the scroll
events to be sent to the old focus. To fix this, rebasing the cursor is
needed after changing focus.
2018-10-24 18:43:32 +10:00
Drew DeVault bdb176863c
Merge pull request #2933 from Snaipe/xwayland-window-properties
xwayland: populate window_properties in json for views
2018-10-24 01:13:15 +02:00
Franklin "Snaipe" Mathieu 8fc9328334 xwayland: populate window_properties in json for views
window_properties is documented to contain a subset of the X11 properties
of a window (its title, class, instance, role, and transient ID). This
commit adds the missing json object from the get_tree output for
xwayland windows only.

This is a follow-up of #2911.

Signed-off-by: Franklin "Snaipe" Mathieu <me@snai.pe>
2018-10-23 19:10:50 +01:00
Drew DeVault 7160b8aae9
Merge pull request #2942 from ianyfan/swaybar
swaybar: absorb bar_init function into bar_setup
2018-10-23 14:19:11 +02:00
Drew DeVault 862a4f69be
Merge pull request #2944 from RyanDwyer/fix-multiseat-dormant-cursor
Fix dormant cursor when using multiple seats
2018-10-23 14:18:58 +02:00
Ryan Dwyer 9c965ec58c seat_update_capabilities: Set cursor image while we have the capability 2018-10-23 22:00:57 +10:00
Ryan Dwyer 450a0661d7 Fix dormant cursor when using multiple seats
The cursor's image would be removed or set when the seat's capabilities
were updated, but there was nothing to prevent the image from being set
at other times.
2018-10-23 21:38:30 +10:00
Ian Fan 48cf430cee swaybar: absorb bar_init function into bar_setup 2018-10-23 12:25:52 +01:00
Ryan Dwyer e33671fd9a
Merge pull request #2941 from ianyfan/commands
commands: clean up checkargs function +other small changes
2018-10-23 20:33:40 +10:00
Ian Fan 9227cb7d67 commands: replace EXPECTED_LESS_THAN with EXPECTED_AT_MOST
This makes it a bit more obvious what the expected number of arguments is.
2018-10-23 10:51:54 +01:00
Ian Fan 000d96e525 commands: clean-up checkarg function
Consolidates logic and fixes mistake that used argc instead of val for
determining plural.
2018-10-23 10:51:08 +01:00
Ian Fan 5364255f26 commands: remove EXPECTED_MORE_THAN
Its uses have been replaced with EXPECTED_AT_LEAST.
2018-10-23 10:17:58 +01:00
Ian Fan a9fdd5dd2a commands: print correct command on error for exec and opacity 2018-10-23 10:14:50 +01:00
emersion 970501f05e
Merge pull request #2940 from RyanDwyer/fix-swaybar-crash
Fix swaybar crash when there's no status_command
2018-10-23 10:50:36 +02:00
Ryan Dwyer 851b442f73 Fix swaybar crash when there's no status_command 2018-10-23 18:38:01 +10:00
Arnaud Vallette d'Osia a5cb4cca15 Advertize dependency on git 2018-10-23 09:56:56 +02:00
emersion 7583b0b8a5
Merge pull request #2936 from RedSoxFan/fix-swaynag-command
cmd_swaynag_command: fix typo in variable
2018-10-23 09:09:29 +02:00
Brian Ashworth 6a9930f451 cmd_swaynag_command: fix typo in variable
The custom swaynag_command was being stored as config->swaybg_command
instead of config->swaynag_command.
2018-10-22 21:19:22 -04:00
Drew DeVault 5c6240a906
Merge pull request #2935 from mteyssier/ref-output-docs
Add references to sway-output(5) in sway(5)
2018-10-23 01:55:58 +02:00
Ryan Dwyer 6e0097b6da
Merge pull request #2934 from RedSoxFan/config-log-cleanup
config: remove peeked + expanded line log entries
2018-10-23 08:23:29 +10:00
mteyssier f530ac6459 Add references to sway-output(5) in sway(5)
- update ref in the swaybg_command description
- add ref to sway-output(5) in See Also
- add an `output` command description
2018-10-23 00:00:36 +02:00
Brian Ashworth 31f82830b2 config: remove peeked + expanded line log entries
The peeked and expanded line log entries were useful during the switch
to generic code blocks and subcommands. However, it has been a while
since those were introduced and the log entries are no longer helpful
for any remaining issues with config parsing. Instead of keeping them
as clutter in the log, they can just be removed.
2018-10-22 17:52:41 -04:00
Drew DeVault 40c98768e1
Merge pull request #2929 from RyanDwyer/fix-scratchpad-resize
Fix crash when resizing container hidden in the scratchpad
2018-10-22 23:45:22 +02:00
Brian Ashworth bb06a57a71
Merge branch 'master' into fix-scratchpad-resize 2018-10-22 17:32:39 -04:00
Drew DeVault d9ed9445de
Merge pull request #2926 from RyanDwyer/fix-xwayland-floating-logic
Fix xwayland wants_floating logic
2018-10-22 22:12:57 +02:00
Ryan Dwyer 662466e8db Fix crash when resizing container hidden in the scratchpad
Firstly, the container was wrongly identifying as a tiling container
because it had no workspace.

Secondly, when calculating the maximum possible size we can't use the
workspace if it's not there, so we'll allow unlimited size in this case.
2018-10-23 00:02:08 +10:00
Drew DeVault cdbfc3338b
Merge pull request #2924 from RyanDwyer/fix-qt-menu-crash
Fix crash when quitting a QT app on the wayland backend using menu
2018-10-22 14:55:32 +02:00
Drew DeVault ef532154c3
Merge pull request #2923 from RyanDwyer/fix-move-to-fullscreen-crash
Fix crash when moving a container to a fullscreen workspace
2018-10-22 14:53:48 +02:00
Ryan Dwyer db2b545550
Merge pull request #2922 from RedSoxFan/fix-2905
cmd_reload: recalc font sizing + rebuild textures
2018-10-22 22:40:26 +10:00
Ryan Dwyer 16ef702645 Fix xwayland wants_floating logic 2018-10-22 21:51:10 +10:00
Ryan Dwyer 6deb726873 Fix crash when quitting a QT app on the wayland backend using menu
QT unmaps the view before destroying the popup. We destroyed the popup
in response to the view unmapping, but then we'd attempt to destroy it a
second time which caused a crash.

The patch removes the listener.

I tested it with GTK as well, and can confirm the popup is still being
destroyed.
2018-10-22 18:36:47 +10:00
Ryan Dwyer f04b8f0061 Fix crash when moving a container to a fullscreen workspace
Setting normal focus to the fullscreen view causes the old workspace to
start destroying. We then set focus to the old workspace which is no
longer attached in the tree.

As we are only setting focus_inactive on the fullscreen container, the
fix uses seat_set_raw_focus to avoid all the additional behaviour that
comes with it such as destroying the old workspace.
2018-10-22 18:02:33 +10:00
Brian Ashworth 80e8be71a3 cmd_reload: recalc font sizing + rebuild textures
When the config gets reloaded, the font height and baseline get reset to
0. If the config does not have a font command in it, the variables will
remain at 0 causing a transparent area where the title would be
rendered.

This makes it so the font height and baseline are recalculated. Additionally,
since the font height and baseline may have changed due to the reload, the
title and marks textures are rebuilt.
2018-10-21 22:57:29 -04:00
Drew DeVault a918844e52
Merge pull request #2913 from emersion/fix-swaybar-hotplug
swaybar: fix hotplug
2018-10-21 18:35:02 +02:00
emersion 2a32701b78
swaybar: fix hotplug 2018-10-21 17:46:40 +02:00
Drew DeVault 429787510e
Merge pull request #2909 from makepanic/issues/2906
Parse missing i3 window types
2018-10-21 16:40:53 +02:00
Christian 989bddc765 Parse missing i3 window types
fixes the parsing part of #2906
2018-10-21 15:59:04 +02:00
emersion a4d6835881
Merge pull request #2903 from RyanDwyer/seat-specific-backandforth
Make workspace back_and_forth seat-specific
2018-10-21 08:59:59 +02:00
Ryan Dwyer c5a6c37275 Make workspace back_and_forth seat-specific
* When using multiple seats, each seat has its own prev_workspace_name
for the purpose of workspace back_and_forth.
* Removes prev_workspace_name global variable.
* Removes unused next_name_map function in tree/workspace.c.
* Fixes memory leak in seat_destroy (seat was not freed).
2018-10-21 11:26:22 +10:00
emersion 3f02218b54
Merge pull request #2901 from ianyfan/swaybar
swaybar: render with minimum height, nominally text height
2018-10-20 22:52:56 +02:00
Ian Fan 1844a5bafb swaybar: render with minimum height, nominally text height 2018-10-20 21:21:57 +01:00
Drew DeVault 6e6476c3d5
Merge pull request #2900 from Hi-Angel/master
A script to make inactive windows transparent
2018-10-20 21:06:38 +02:00
Konstantin Kharlamov 0d5aaf5359 A script to make inactive windows transparent
Sway has ability to apply transparency to arbitrary windows. This script
wires up this functional to one of popular use-cases from
i3+<compositor_name>.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
2018-10-20 21:58:00 +03:00
Drew DeVault a41b77ef29
Merge pull request #2896 from RyanDwyer/abort-proprietary
Abort if proprietary drivers are in use
2018-10-20 16:18:58 +02:00