Commit graph

1350 commits

Author SHA1 Message Date
Mikkel Oscar Lyderik
99f26c61a5 Don't strip quotes from exec args
Before passing a command to a command handler the quotes are stripped
from each argument in the command. This is usually the wanted behavior
but causes a problem in the case of `exec` where quoted arguments can be
required when passing the exec command to `/bin/sh -c`.

This patch makes `exec` a special case and doesn't strip quotes from the
arguments. It will just pass the exec command verbatim to the exec
command handler.

Fix #518
2016-03-18 10:02:18 +01:00
Drew DeVault
e7e1081a93 Merge pull request #516 from mikkeloscar/remove-panel_size
Remove unused panel_size (and fix rearrange)
2016-03-17 18:52:47 -04:00
Mikkel Oscar Lyderik
f63512480c Remove unused panel_size (and fix rearrange)
desktop_shell.panel_size was only used to determine if sway should
rearrange the output when rendering the panel in the output_pre_render
hook. This is not needed since the output will have been arranged at
that point.
It also caused sway to rearrange all the time when running with two
or more different monitors/resolutions because panel_size kept changing
with every output_pre_render callback.

Should fix #514
2016-03-17 23:47:42 +01:00
Drew DeVault
50b9a4e8a6 Merge pull request #515 from mikkeloscar/focus-correct-swaylock-view
Focus correct swaylock view in multimonitor setup
2016-03-17 13:47:58 -04:00
Mikkel Oscar Lyderik
c1d5791482 Focus correct swaylock view in multimonitor setup
Swaylock spawns and focuses a view for each output in sway. This can
sometimes move the focus to a new output after locking and unlocking the
screens.

This patch makes sure that the output which had focus when swaylock
was invoked, will regain focus once swaylock is closed/unlocked.

Fix #499
2016-03-17 17:02:17 +01:00
Drew DeVault
bb67a3d809 Merge pull request #513 from mikkeloscar/sway-bar-manpage
Document swaybar commands
2016-03-17 10:45:57 -04:00
Mikkel Oscar Lyderik
db7697b830 Document swaybar commands
Documents most of the bar commands in sway-bar(5) manpage.

The following command has not been document because they haven't been
fully implemented yet:
 * mode
 * hidden_state
 * modifier
 * tray_output
 * tray_padding

Close #375
2016-03-17 15:41:24 +01:00
Drew DeVault
93109674d0 Merge pull request #512 from mikkeloscar/bg-panel-render
Schedule render when adding bg and panel
2016-03-17 08:33:11 -04:00
Mikkel Oscar Lyderik
9faa4ba0a0 Schedule render when adding bg and panel.
This should be a real fix for #509

This schedules a render when a background or panel is added to sway
through the desktop shell interface, that makes sure the render isn't
scheduled before the bg or panel is ready and you don't end up with a
black screen until the cursor is moved.
2016-03-17 12:05:54 +01:00
Mikkel Oscar Lyderik
1349a44171 Revert "Render outputs as soon as wlc is ready"
This reverts commit 96458bf63c.
2016-03-17 12:05:32 +01:00
Drew DeVault
89ef36a7ba Merge pull request #510 from mikkeloscar/render-output-at-launch
Render outputs as soon as wlc is ready
2016-03-13 12:35:55 -04:00
Mikkel Oscar Lyderik
96458bf63c Render outputs as soon as wlc is ready
This makes sure that the outputs are rendered when sway is launched, so
the user doesn't have to move the cursor before the background and bar
gets rendered on screen.

Fixes #509
2016-03-13 17:13:30 +01:00
Drew DeVault
c1517e5e40 Fix default config's split binding
Fixes #508
2016-03-12 18:35:42 -05:00
Drew DeVault
60b95cca46 Update LICENSE to 2016
This is just an excuse for me to nab the 1337th commit!
2016-03-05 09:45:24 -05:00
Mikkel Oscar Lyderik
eb82a500c8 Remove focus when switching to empty workspace
Fix #504
2016-03-05 15:39:28 +01:00
Drew DeVault
181b6b31a4 Merge pull request #502 from mikkeloscar/lock-reset-input
Reset input state when locking compositor
2016-03-04 13:47:08 -05:00
Mikkel Oscar Lyderik
ceb0ef64c2 Reset input state when locking compositor
Fix #498
2016-03-04 17:10:43 +01:00
Drew DeVault
ef5d896946 Merge pull request #501 from mikkeloscar/ws-on-output
Fix assigning workspaces to outputs
2016-03-04 11:08:03 -05:00
Mikkel Oscar Lyderik
8ddafeeaae Fix assigning workspaces to outputs
It's possible to assign workspaces to certain outputs using the command:

    workspace <name> output <output>

However, this did not work in some cases where the workspace was
assigned before the given output was made available to sway.

This patch fixes those cases.
2016-03-04 16:44:49 +01:00
Drew DeVault
79bfd620d6 Merge pull request #495 from gpyh/docswaybar
Segregate between config and runtime cmds in doc
2016-02-29 16:46:12 -05:00
Yacine Hmito
9437eca3eb Segregate between config and runtime cmds in doc
In anticipation for #375, reorganized and augmented slightly sway(5)
so it makes a difference between commands intended for configuration,
commands intended for control, and those that can serve as both.
2016-02-29 22:12:39 +01:00
Drew DeVault
cc170e1b2d Merge pull request #497 from progandy/swaylock-arrange
swaylock: call arrange_windows for floating change
2016-02-28 15:42:23 -05:00
progandy
33887e3955 sway: rearrange the whole ws on lock view setup 2016-02-28 21:24:12 +01:00
progandy
52ff89cecc sway: set lock view to floating after ws switch
This avoids calling swayc_active_workspace.
2016-02-28 21:22:57 +01:00
Drew DeVault
86b894d804 Merge pull request #496 from mikkeloscar/focus-new-output
Correctly move focus from one output to a new one.
2016-02-28 12:32:56 -05:00
Mikkel Oscar Lyderik
6088c6cdf0 Correctly move focus from one output to a new one.
This patch aims to correctly handle moving focus <left|right|up|down>
between outputs.

For instance, if moving from one output to a new output at the left of
the current one, it should focus the right-most view/container on the
new output, and the opposite if moving from right to left. This should
happen regardless of the previously stored focus of the new output.

This also handles moving to a new output above or below the current one.
2016-02-28 18:20:18 +01:00
Drew DeVault
3453910c3e Merge pull request #492 from mikkeloscar/swaybar-multi-output
Display single swaybar on multiple outputs
2016-02-27 16:18:50 -05:00
Mikkel Oscar Lyderik
67bbcceba1 Free config before exiting sway.
Apart from freeing the sway_config struct, this also terminates the
swaybars spawned by sway, since they are linked by PID to the bar config
structs.
2016-02-27 22:13:15 +01:00
Mikkel Oscar Lyderik
e15a8a0376 Improve how swaybars are spawned 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
af7a251806 Poll before wl_display_dispatch 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
e4c1176b72 Differentiate between all or no outputs 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
212c6a18a2 Add outputs to bar_config ipc response 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
bad4e22f3b Make sway spawn only one bar per bar config 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
6d57f03028 Make single bar handle multiple outputs 2016-02-27 22:12:35 +01:00
Mikkel Oscar Lyderik
5ff3fb1c04 Set pointer pos before focusing view under it 2016-02-27 13:18:55 +01:00
Mikkel Oscar Lyderik
e19e32cf81 Make protocol specifications follow the DTD
Gets rid of these warnings:

    WARNING: XML failed validation against built-in DTD
2016-02-27 01:26:17 +01:00
Mikkel Oscar Lyderik
5e253fdd9a Correctly exit sway on errors.
Calling `exit` in sway_terminate prevents sway from correctly shutting
down (freeing data, cleanly terminating the ipc server, etc.).

A better way is to exit straight away if the failure occurs before
`wlc_run` and use sway_abort as usual if it occur when wlc is running.
2016-02-26 09:42:21 +01:00
Drew DeVault
40b3215444 Merge pull request #494 from gpyh/argsegfault
Fix segfault when trying to use sway as IPC without a sway instance
2016-02-25 18:09:20 -05:00
Yacine Hmito
c400ca8f88 Fix for when sway_abort doesn't exit
sway_terminate does an exit in case wlc_terminate doesn't
2016-02-25 23:46:27 +01:00
Yacine Hmito
8db417fafe Fixed swaymsg command name in sway(5) doc 2016-02-25 23:05:38 +01:00
Yacine Hmito
e239fbbd88 No options when using sway as IPC client
Sway used to attempt sending an IPC command composed of every argument
after the first non-option argument encountered.
Now, raises an error if an option is encountered before the intended command.
Some options such as -h or -v take effect when parsing, so they still
apply.
2016-02-25 23:04:59 +01:00
Yacine Hmito
179192e222 Removed p as a valid CLI option
The get-socketpath long option had an undocumented short alternative
as `p`. It has been removed.
However, the code in the options array is still the 'p' char.
2016-02-25 21:50:24 +01:00
Drew DeVault
28c8e4fb9e Merge pull request #493 from mikkeloscar/view-behind-swaylock
Don't rearrange views behind swaylock.
2016-02-25 09:02:47 -05:00
Mikkel Oscar Lyderik
89bb6a4a42 Don't rearrange views behind swaylock.
Fix #481
2016-02-25 14:42:48 +01:00
Mikkel Oscar Lyderik
c9d9dd7516 Check for empty ws on view destroyed.
In some cases destroying a view can result in an empty and inactive
workspace, which should be destroyed.

This handles those cases.
2016-02-25 13:36:25 +01:00
Mikkel Oscar Lyderik
ee32bc3aef Send workspace ICP event on ws destroy/empty.
There is no 'destroy' change type in the i3 IPC so this uses `empty` to
notify about empty workspaces (which will be destroyed from sway right
after).
2016-02-25 12:59:22 +01:00
Mikkel Oscar Lyderik
739ba902e0 Prevent crash when showing scratchpad on new ws.
Fix #469
2016-02-25 11:43:07 +01:00
Mikkel Oscar Lyderik
b107fc6e5a Fix ipc event bit masks 2016-02-21 22:49:20 +01:00
Mikkel Oscar Lyderik
016a77424a Prefer named output config over wildcard config.
This makes sure that a named output config is applied before the
general wildcard config when a new output is created. This ensures that
the config:

    output * ...
    output NAME ...

behaves the same way as:

    output NAME ...
    output * ...
2016-02-12 13:45:47 +01:00
Drew DeVault
91d6113d4a Merge pull request #488 from mikkeloscar/get-pixels
Replace deprecated function wlc_output_get_pixels.
2016-02-08 07:40:41 -05:00