Commit graph

1106 commits

Author SHA1 Message Date
Drew DeVault
9b24af1c22 Document scale factor configuration in sway(5) 2016-07-29 08:00:23 -04:00
Drew DeVault
9661272224 Merge remote-tracking branch 'origin/hidpi' 2016-07-29 07:35:43 -04:00
Zandr Martin
a3980d456d
third try for #678 2016-07-28 17:43:43 -05:00
Drew DeVault
cad085ed9d Update IPC JSON responses for HiDPI setups 2016-07-28 14:42:39 -04:00
Drew DeVault
11e7ca044c Update hidpi support to latest wlc API 2016-07-28 14:36:49 -04:00
Drew DeVault
6ea02f3064 Initial pass on HiDPI support 2016-07-28 14:36:49 -04:00
Mykyta Holubakha
cf8ef2aea2 Initialize client's subscribed events 2016-07-28 13:38:02 +00:00
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
Zandr Martin
aced6daa19
match i3 syntax for resize set 2016-07-03 07:05:10 -05:00
Drew DeVault
7144fb9fc3 Spawn windows as floating if they have a parent
Fixes #604
2016-06-30 08:30:03 -04:00
David Eklov
26842ff383 Add get_log_level() to encapsulate v (current log level)
This patch also makes all global variable in log.c static.
2016-06-27 18:56:50 -05:00
Mykyta Holubakha
bfdda1505e Check if found ws is focused in new view handler
Fixes #714, by preventing change of focus from a window to the whole ws
2016-06-21 20:38:06 +03:00
Drew DeVault
71f710cf0f Minor fix to warning messages 2016-06-19 10:01:15 -04:00
Hummer12007
7870a197fc Added a null check in tabbed_stacked_parent
This fixes a segfault, when trying to get parent of the workspace/root container/(?), as it is not assuered that the view's parent node is not null in the loop
2016-06-18 20:40:39 +03:00
Zandr Martin
a6f4bf60f2 Merge branch 'master' into set-size-command 2016-06-11 17:10:38 -05:00
Zandr Martin
889618d3ee
implement resize command for absolute dimensions 2016-06-11 17:02:16 -05:00
Zandr Martin
9ecb43ea3b
couple small fixes 2016-06-11 15:29:04 -05:00
Zandr Martin
2298143d09
cleanup + add timeouts for pid_workspace list 2016-06-11 12:43:34 -05:00
Zandr Martin
66caee645c Merge branch 'master' into assign-command 2016-06-11 09:33:24 -05:00
Zandr Martin
beaa03344e
clean up pid/workspace stuff 2016-06-11 09:20:09 -05:00
Drew DeVault
cb0cc32265 Many improvements to man pages 2016-06-10 09:32:14 -04:00
Zandr Martin
b00feb25ea
trigger bg change on config reload 2016-06-10 07:12:25 -05:00
Zandr Martin
03d79b41c7
semi-working (only non-client/server wayland apps) 2016-06-10 06:08:59 -05:00
thuck
3710cd6963 Fix segfault when using include with *
This should fix the issue #681
2016-06-06 22:20:27 +02:00
Zandr Martin
0f1859ed25 messy, unfinished version 2016-06-06 06:58:53 -05:00
Denis Doria
cdd8664198 Merge branch 'master' into variables_corner_cases 2016-06-06 09:17:01 +02:00
Roosembert Palacios
230591fa4e
Common: Readline: Ignore newline on '\' escaped line ends.
Escape line return when reading from a file with the '\' character.
Similar to shell scripts.

Signed-off-by: Roosembert Palacios <roosembert.palacios@epfl.ch>
2016-06-06 00:17:27 +02:00
Roosembert Palacios
e8c0ef98b1
Sway: Configuration: Support for escaping line breaks.
Escape line return in configuration file with the '\' character. Similar
to shell scripts.

Signed-off-by: Roosembert Palacios <roosembert.palacios@epfl.ch>
2016-06-05 23:36:27 +02:00
Zandr Martin
d4eb964fd1 document assign command 2016-06-05 09:03:13 -05:00
Denis Doria
3c3e98b1a3 Merge branch 'master' into variables_corner_cases 2016-06-05 07:49:33 +02:00
Drew DeVault
fdefd17391 Merge pull request #695 from zandrmartin/document-client-commands
add documentation for client commands
2016-06-04 12:08:17 -04:00
Zandr Martin
3746542462 add documentation for client commands 2016-06-04 10:43:23 -05:00
wdbw
4f9af09f23 Add missing layout modes in sway(5) 2016-06-04 17:20:27 +02:00
Denis Doria
29eb3bf746 Put w to uppercase just to keep consistency between warnings 2016-06-03 11:28:10 +02:00
Denis Doria
bf2298e0a5 Includes $ for variables without it 2016-06-03 11:26:47 +02:00
thuck
f55b5a4982 Fix identation issue 2016-06-03 00:36:41 +02:00
thuck
431013db72 Merge branch 'master' of https://github.com/SirCmpwn/sway into variables_corner_cases 2016-06-03 00:19:26 +02:00
thuck
e4f80877be Fix output command when varible not set
This should fix the corner case where a variable is not assigned, but used anyway.
This should solve partially the issue #681.
2016-06-03 00:05:10 +02:00
thuck
1ab3e1023e Including error message when variable do not start with $ 2016-06-02 23:23:04 +02:00
Zandr Martin
9ccc92705e implement stable sort for lists
also change sort_workspaces() to use it
2016-06-02 15:48:14 -05:00
Denis Doria
2256a9b784 Sync master
Merge branch 'master' of https://github.com/SirCmpwn/sway into floating_size_conf
2016-06-02 17:36:51 +02:00
Denis Doria
b692a6d31a Initial implementation for floating_maximum_size 2016-06-02 17:35:02 +02:00
Zandr Martin
3fac9705b0 redo smart_gaps/hide_edge_borders fix 2016-06-02 09:16:47 -05:00
Denis Doria
009eaccd42 Clean up not used variables 2016-06-01 14:44:02 +02:00
Denis Doria
b6685da35b Update man page with information about floating_maximum_size 2016-06-01 14:11:49 +02:00
Denis Doria
0ad7857f90 Included option floating_minimum_size
Values cannot be negative or 0; if so uses the default 75x50.
Uses the same syntax as i3: floating_minimum_size <width> x <height>, although the x can be anything.
2016-06-01 13:37:50 +02:00
Zandr Martin
8a81f52450 Merge branch 'master' of github.com:SirCmpwn/sway into fix-swaybar-in-08bef67 2016-05-31 09:30:34 -05:00
Zandr Martin
1b4d61662c fix swaybar problem in 08bef67 2016-05-31 09:25:54 -05:00
Denis Doria
3c4c623012 Merge branch 'master' into floating_size 2016-05-31 16:04:15 +02:00
Denis Doria
f1d5b89d3e Initial work for floating view with sane values 2016-05-31 14:59:33 +02:00
Eric Engestrom
08bef67f85 sway: refactor ipc_client_handle_command()
This fixes a few mem leaks, as well as remove a false-positive error msg
in IPC_GET_BAR_CONFIG
2016-05-31 00:44:07 +01:00
Eric Engestrom
9d7d73df7f sway: fix IPC resource leak 2016-05-31 00:40:15 +01:00
Drew DeVault
3b1c125e18 Remove bar position left:right from docs
And adds a warning about using them (currently these are not supported
by swaybar).
2016-05-29 11:53:13 -04:00
Zandr Martin
d291a29f30 enforce workspace output assignents
when creating a new output, move to that output all extant workspaces
that are assigned to that output.

(unrelated) remove comment that was no longer applicable, fix spacing in
an assignment
2016-05-28 18:18:46 -05:00
Zandr Martin
7df38ce9da remove alphabetic sorting from sort_workspaces
also add a couple missing spaces to container.c (unrelated)
2016-05-28 08:35:58 -05:00
Zandr Martin
c6c3a8e758 Implement sort_workspaces() function for outputs.
This seems to have resolved issue #669 for me.
2016-05-27 17:37:56 -05:00
Zandr Martin
164f384d83 set focus on fullscreen view when changing focus 2016-05-23 16:05:44 -05:00
Mykyta Holubakha
16dc31f33b Concatenate output cmd args, fixes #654 2016-05-23 13:09:18 -04:00
Mikkel Oscar Lyderik
f33cdc0f2f Remove stray whitespace 2016-05-20 23:13:47 +02:00
Mikkel Oscar Lyderik
2eb02b6320 Rearrange output when setting background
Fix #659
2016-05-20 23:13:24 +02:00
Jasen Borisov
870a7aaad9 Fix issue #661.
Borders are now drawn correctly (same behavior as i3) for tabbed and
stacked containers, when the children have 'border none' set.
2016-05-18 04:25:32 +01:00
Mykyta Holubakha
e73dde3b10 Support floating_scroll sideways 2016-05-14 23:42:02 +03:00
Drew DeVault
5b0af661b0 Revert "sway/container.c: fix segfault where view is assigned prematurely" 2016-05-14 14:34:25 +00:00
Daniel Lockyer
2fb4e5401c sway/container.c: fix segfault where view is assigned prematurely 2016-05-09 17:41:26 +01:00
Mikkel Oscar Lyderik
c80ad015ff Prevent changing layout when focusing float window
The layout command should only work with titled windows, thus it should
have no effect when a floating window has focus.

Should fix #643
2016-05-09 15:55:06 +02:00
Mykyta Holubakha
500ee0a731 Allow to set relative path for wallpapers in config 2016-05-08 22:59:06 +03:00
Mykyta Holubakha
0c495eecde Remove FSB_GAPS_INNER and FSB_GAPS_OUTER 2016-05-08 17:17:35 +03:00
Mykyta Holubakha
394a5d36cb Documented floating_scroll 2016-05-08 10:21:20 +03:00
Mykyta Holubakha
0423c41a0f Implemented configurable floating scroll behavior 2016-05-07 20:49:51 +03:00
Drew DeVault
6abdc07559 Merge pull request #638 from neosilky/memleak
sway/main.c: simplify free'ing by switching to the helper method
2016-05-05 18:01:44 -07:00
Daniel Lockyer
b41097c085 sway/config.c: fix double free issue as we need to store path in list 2016-05-05 23:50:12 +01:00
Daniel Lockyer
c9d634414a sway/main.c: simplify free'ing by switching to the helper method 2016-05-05 23:30:28 +01:00
Drew DeVault
0cefde87e4 Merge pull request #628 from 1ace/fix/ipc-path
Always terminate ipc path
2016-05-02 08:14:01 -04:00
Raman Varabets
a9123c38b2 fix a typo (horiziontal -> horizontal) 2016-05-02 19:18:33 +08:00
Eric Engestrom
3d6a3413b8 sway: always terminate ipc path 2016-05-02 11:26:27 +01:00
Mikkel Oscar Lyderik
ae5164f1d4 Update view title of tabbed/stacked windows
Requires Cloudef/wlc@80bf003

Fix #623
2016-05-01 22:08:46 +02:00
Eric Engestrom
e53ba08626 sway: fix potential buffer overflow 2016-05-01 13:57:23 +01:00
Jasen Borisov
de007c9b58 Add input cmd for setting pointer accel profile. 2016-05-01 11:02:44 +01:00
Mikkel Oscar Lyderik
1f8b6b86dd Remove premature break 2016-04-30 11:17:53 +02:00
Daniel Lockyer
682efbb7dd sway/config.c: Initialise struct value 2016-04-30 01:12:41 +01:00
Daniel Lockyer
0ece17c717 sway/workspace.c: Cleanup some un-free'd memory 2016-04-29 23:27:59 +01:00
Daniel Lockyer
e1fa51a152 sway/config.c: Move the wordfree call before the if statement so it is always called 2016-04-29 18:36:29 +01:00
Daniel Lockyer
06986e58b8 sway/config.c: Change to the useful free_cmd_results helper method 2016-04-29 18:31:21 +01:00
Daniel Lockyer
01c2b5f2d6 sway/config.c: move free call to after sway_log 2016-04-29 18:27:49 +01:00
Daniel Lockyer
b8722ecd5f sway/config.c: Leading on from cdf017c, we need to free path 2016-04-29 18:09:56 +01:00
Daniel Lockyer
e077ebdc72 sway/config.c: res->input is a malloc'ed section which wasn't freed 2016-04-29 18:08:28 +01:00
Daniel Lockyer
cdf017ceea sway/config.c: wordexp has a corresponding wordfree which was never used
I had to change the assignment to path to be wrapped by strdup as we
pass the data out of the method.
2016-04-29 18:07:38 +01:00
Daniel Lockyer
c225bcacee sway/config.c: config_home is the result of a malloc but was never freed 2016-04-29 18:06:21 +01:00
Daniel Lockyer
5a7099eee0 sway/commands.c: add some free calls to release allocated memory 2016-04-29 16:16:47 +01:00
Drew DeVault
3be3867474 Fix oversight in ebdce71 2016-04-29 11:01:49 -04:00
Drew DeVault
ebdce719b4 Fix -Wunused-result problems 2016-04-29 10:59:43 -04:00
Mikkel Oscar Lyderik
b53b15b477 Fix uninitialized variable 2016-04-29 16:30:02 +02:00
Mikkel Oscar Lyderik
1fb9489032 Fix bindcode by offsetting xkb keycode by 8
The bindcode has to be offset by 8 to match the keycode we get from wlc.

https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon.h#L160
2016-04-28 21:05:38 +02:00
Tomáš Čech
468ddfb34d Fix missing include paths
When headers were installed in more sofisticated places (but package
config knows it right), it revealed missing paths in CMake
configuration. Lets fix it.
2016-04-28 20:08:41 +02:00
Mikkel Oscar Lyderik
ddd5b69b99 border: clear buffer on fullscreen views
This patch makes sure to clear the border buffer of fullscreen view so
the border doesn't get drawn behind a fullscreen view, which would be
visible if the view was transparent.
2016-04-27 11:24:28 +02:00
Mikkel Oscar Lyderik
27066c6328 Only check tabbed_stacked_parent for focused windows 2016-04-27 11:24:28 +02:00
Mikkel Oscar Lyderik
05b4965a99 Remove commented code 2016-04-25 13:40:21 +02:00
Mikkel Oscar Lyderik
856ac7d5cc Remove unused function 2016-04-25 00:00:49 +02:00
Mikkel Oscar Lyderik
5a22c0f1c0 Don't send invisble view to back 2016-04-25 00:00:49 +02:00
Mikkel Oscar Lyderik
5886ee156e Use correct geometry for nested containers 2016-04-25 00:00:49 +02:00
Mikkel Oscar Lyderik
6c7ed7e7cb Add title to nested tabbed/stacked containers 2016-04-25 00:00:49 +02:00