Commit graph

999 commits

Author SHA1 Message Date
Drew DeVault
d07eaed79f Merge pull request #793 from thejan2009/workspace_layout_first_window_fix
bugfix: invisible windows on empty workspace with tabbed/stacked layout
2016-07-28 07:42:43 -04:00
Drew DeVault
ee67c5bee3 Merge pull request #791 from acrisci/feature/focus-child
Implement `focus child` command
2016-07-28 07:26:37 -04:00
Drew DeVault
d03266a77a Merge pull request #792 from acrisci/feature/render-focused-stack-children-focused
Render focused stack/tab children focused
2016-07-28 07:26:13 -04:00
D.B
33c1df38bd Close all focused container's child views on kill
Previously, cmd_kill only closed a focused view, while containers were
not affected. Now it closes all views that are children of the focused
container.
2016-07-28 10:31:18 +02:00
D.B
a46cf77549 bugfix: windows on empty workspaces with layout tabbed/stacked would spawn with 0x0 geometry 2016-07-28 05:56:36 +02:00
Tony Crisci
badfcf7c76 Render focused stack/tab children focused
Whenever a stacked or tabbed container has focused, paint the titlebars of all
its child windows to be focused as well to indicate the parent stack/tab
container has the focus.
2016-07-27 23:16:58 -04:00
Tony Crisci
88b7cbe314 Implement focus child command
The `focus child` command focuses the child container within the selected
container.
2016-07-27 22:48:46 -04:00
Tony Crisci
8a03f138bf bugfix: set focus to workspace of an output
In `move_focus()`, when given an output, set the focus to the workspace of that
output instead of the output itself.

This fixes a bug that did not allow users to switch between outputs introduced
in afc6ad6.

It also fixes other issues before that commit when a workspace with children
was selected and the user tried to switch focus in the direction of another
output.
2016-07-27 22:06:16 -04:00
Tony Crisci
afc6ad6419 bugfix: cmd focus parent don't set focus above ws
In the `focus parent` command, do not set focus above the workspace level.
These containers are not meant to be focused.

This prevents a crash on repeated `focus parent` commands.
2016-07-27 21:30:45 -04:00
Tony Crisci
0d461ad988 Put ipc command result json in an array
For compatibility with i3, put the command result into an array.

Returning multiple command results is still unsupported.
2016-07-23 23:13:09 -04:00
D.B
80858c1f57 don't passthrough a floating_scroll event to focused window 2016-07-23 16:58:37 +02:00
Drew DeVault
643bd8f158 Merge pull request #779 from thejan2009/smart-gaps-outer
Hide outer gaps too when smart_gaps is on
2016-07-23 10:55:18 -04:00
D.B
f16cb1464f properly hide bottom and right borders 2016-07-22 06:00:27 +02:00
Zandr Martin
3137615838
fix regression in hide_edge_borders 2016-07-21 21:15:46 -05:00
D.B
d61b59cad1 outer gap 0 with smart_gaps on 2016-07-21 22:58:13 +02:00
D.B
03b0180c30 rename ws to workspace for clarity 2016-07-21 22:21:49 +02:00
D.B
b893f07ce1 calculate borders for hiding from workspace geometry 2016-07-21 22:21:49 +02:00
Mykyta Holubakha
a2bc6f3bfd Arrange backgrounds only when required 2016-07-21 22:47:35 +03:00
Mykyta Holubakha
f022628a2e Handle transient_for 2016-07-21 21:53:36 +03:00
Mykyta Holubakha
f52daa26c9 Unite describe_view and describe_window 2016-07-21 21:51:20 +03:00
Mykyta Holubakha
e5c7b019ff Fix dispatching and assigning events 2016-07-21 21:51:20 +03:00
Mykyta Holubakha
2029fef6b8 More progress on window events 2016-07-21 21:51:20 +03:00
Mykyta Holubakha
976e48d79f Initial work on window events 2016-07-21 21:51:20 +03:00
Drew DeVault
095353d91d Remove arrange_windows from post-render
Fixes #741
2016-07-21 08:27:25 -04:00
minus
50b09937b2 clean up apply_input_config 2016-07-18 20:12:49 +02:00
Drew DeVault
5a1d95ac2a Move backgrounds to back after arrange_windows
Fixes #769
2016-07-18 09:12:48 -04:00
Drew DeVault
c0e4522202 Merge pull request #764 from deklov/move-position-bug-02
Do not crash when handling the command 'move position'
2016-07-18 08:50:53 -04:00
D.B
5d250f3da6 Construct titles of nested tabbed/stacked containers from app_id instead of title 2016-07-18 12:35:50 +02:00
David Eklov
d9eb49f3b1 Add missing entry to list of accepted arguments for the move command 2016-07-17 22:52:39 -05:00
David Eklov
d202ca2fd7 Do not crash when handling the command 'move position'
Sway expected 'move position' to be 'move position mouse'. If mouse is not
present in the command, Sway crashes.
2016-07-17 22:50:15 -05:00
Drew DeVault
2530f952c9 Fix clang warning 2016-07-17 12:59:39 -04:00
Drew DeVault
ff363aa7f7 Fix bug with views behind backgrounds on ws switch 2016-07-17 12:57:40 -04:00
Drew DeVault
6d971af5c3 Turn swaybg into a shell surface 2016-07-17 11:55:05 -04:00
Drew DeVault
3bb880bf20 Implement configurable wrapping on bar ws scroll 2016-07-17 11:26:38 -04:00
Drew DeVault
a9767ad2f7 Allow users to customize the cursor on clients
This also sets the default size to 16 and documents all of the other
environment variables in use in sway(1).
2016-07-17 11:26:30 -04:00
Hummer12007
cf7c6c5822 Fix a memory leak 2016-07-17 00:00:51 +03:00
D.B
ad7605675e refactor swayc_tabbed_stacked_parent into _ancestor and _parent and use where needed 2016-07-16 15:34:43 +02:00
David Eklov
5c4f52f953 Set panels' geometries correctly and don't render them explicitly
Panels were explicitly rendered by calling wlc_surface_render in
handle_output_pre_render. Calling wlc_surface_render does not set the
surface's geometry (like wlc_view_set_geometry does). Sway did not call
wlc_view_set_geometry for panels, so wlc defaulted their geometry to be at
the origin. This is not correct for bars unless their location is top.

Furthermore, for a surface to receive pointer events, its mask has to be
set to visible. This causes wlc to render these surfaces, causing panels
and backgrounds to be rendered twice.

This commit makes panels and surfaces visible, sets the correct geometries
and removes the code that explicitly rendered them.
2016-07-14 17:18:01 -05:00
David Eklov
4bb45abc46 Don't treat backgrounds as shell surfaces
This code had some issues. Remove it now so that we can start clean and fix
it later.
2016-07-14 17:15:31 -05:00
Mykyta Holubakha
c503bf1342 Suspend destruction of wss when creating views 2016-07-15 00:22:53 +03:00
Mykyta Holubakha
a2bb280172 Spawn new views to target ws's focused container 2016-07-15 00:22:53 +03:00
Mykyta Holubakha
ea7917784d Fix build on x86 2016-07-12 09:43:48 +00:00
D.B
ee67cd0ba1 Fix tabbed/stacked corner case #742
Tabbed/stacked containers are now created only if a view is present on
the workspace. If a view is created on previously empty tabbed/stacked
workspace, it gets wrapped in a container.
2016-07-07 22:28:57 +02:00
Zandr Martin
c65d6e6e95
get_tree json fixes
- null pointer check against container names
- use actual json null values instead of "null" strings
- add "visible" property to all containers
2016-07-05 07:23:44 -05:00
David Eklov
51204b33c1 Enable backgrounds and panels to be shell surfaces
Prior to this commit all windows (e.g. shell surfaces) were handled the same
way in handle_view_created. Since backgrounds and panels have to be treated
differently, they could not be shell surfaces. This changes checks whether
a client is a background or a panel in handle_view_created and exists to
let them be dealt with elsewhere.
2016-07-04 21:58:07 -05:00
Zandr Martin
2f54057623
I think this fixes #678 2016-07-04 17:45:37 -05:00
Zandr Martin
e07b8c8d7c Merge branch 'master' into get-tree-command 2016-07-04 13:53:49 -05:00
Zandr Martin
f8a94f2f4b
fix typo in ipc-json.c 2016-07-04 13:46:19 -05:00
Zandr Martin
15a324b0d3
implement get_tree command 2016-07-04 13:34:44 -05:00
Zandr Martin
d5e4fff345
resize command updates (#713) 2016-07-03 12:11:21 -05:00