Drew DeVault
65b8a5c3ce
Add background handling
...
This does not work as expected. I think the problem is on the wlc side.
Please review, @Cloudef. To reproduce the issues:
1. Run sway
2. Open terminal in sway
3. Run swaybg
swaybg will create a surface and ask to have it set as the background,
but wlc_handle_from_wl_surface_resource will return 0. If the swaybg
surface is a shell surface, then it works - but wlc complains about the
pointer type and segfaults as soon as the pre-render hook tries to draw
the background.
2015-11-18 22:14:57 -05:00
S. Christoffer Eliesen
236f26f62e
output: Support multiple adjacent outputs.
...
When querying for an adjacent output we now need an absolute position in
order to know which adjacent output that matches. (The position is
either the current mouse position or the center of the currently focused
container, depending on context.)
If two outputs have one edge each that at least partially align with
each other they now count as adjacent.
Seamless mouse is affected by this and now properly moves and positions
itself between outputs with "uneven" placement (as long as they have at
least some part of the edge adjacent to each other).
When focusing or moving a container in a specified direction the center
of the current focused container decides where to look for an adjacent
output. So if e.g. an output has two adjacent outputs to the right and a
"focus right" command is issued then it's the placement of the currently
focused container that decides which output actually gets focused.
Also, if an output has at least one output adjacent in some direction
but the entire edge is not covered (ie. it has "holes" with no outputs),
then the algorithm will choose the output that is closest to the
currently focused container (this does not apply to seamless mouse, the
pointer will just stop at the edge in that case).
2015-11-16 21:32:18 +01:00
Drew DeVault
cd161aa985
We somewhat more wlc_point now
...
Apparently I missed some
cc @Cloudef
2015-11-14 17:14:23 -05:00
S. Christoffer Eliesen
5ba47d4a44
input_state: Remove mouse_origin (x&y). Query wlc instead.
2015-10-29 18:02:02 +01:00
S. Christoffer Eliesen
4799d07ac1
input_state: Extract 'pointer_position_set' function from handlers.
2015-10-29 16:37:19 +01:00
S. Christoffer Eliesen
865b30f138
container: Move container_under_pointer here from handlers.
2015-10-29 16:37:19 +01:00
S. Christoffer Eliesen
fabcf7c678
handlers: Pass workspace to workspace_switch, not output.
2015-10-27 23:22:57 +01:00
S. Christoffer Eliesen
c6bb23b7dd
sway/output: Create, move code from handlers.c here.
2015-10-25 13:14:23 +01:00
Drew DeVault
010368150b
Update set_origin to match wlc changes
2015-10-23 14:29:35 -04:00
S. Christoffer Eliesen
c1479701de
seamless_mouse: Move pointer only if successfully changed workspace.
...
If e.g. a window has a popup open then that will lock the current focus,
making a workspace switch denied.
So don't move the mouse pointer in such cases.
2015-10-23 16:35:48 +02:00
S. Christoffer Eliesen
1f08106b0a
handlers: Don't switch output when mouse button is pressed.
...
(E.g. if the user is using a scrollbar at the edge of the screen then
switching workspace would cancel the scroll.)
2015-10-23 16:35:48 +02:00
S. Christoffer Eliesen
af30a1b67c
ipc,commands,config: Replace cmd_status enum with cmd_results struct.
...
In i3 the ipc reply will contain a human readable error message, and
this patch replicates that behaviour.
However, that error message is also useful for logging, which this
patch takes advantage of.
E.g. instead of logging errors directly in commands.c/checkargs, it is
fed back to the caller which eventually ends up logging everything with
maximum context available (config.c/read_config).
So instead of logging e.g. "Error on line 'exit'" it will now log:
"Error on line 'exit': Can't execute from config."
2015-10-22 23:36:24 +02:00
S. Christoffer Eliesen
b093a5d16f
handlers: Fix swapped top/bottom for seamless transitions.
2015-10-22 23:07:27 +02:00
Drew DeVault
2c100105bf
Move pointer during seamless transitions
2015-10-22 16:44:29 -04:00
S. Christoffer Eliesen
edf33aad29
config: Add "seamless_mouse" to decide if pointer crosses output edges.
2015-10-22 01:39:12 +02:00
S. Christoffer Eliesen
fc1bacf034
Switch to adjacent output when hitting output edge.
...
(Currently, after switching output the relative position of the mouse
stays the same.)
2015-10-22 01:18:51 +02:00
taiyu
4944996170
Merge branch 'master' of https://github.com/taiyu-len/sway
...
merge
2015-09-22 09:41:32 -07:00
taiyu
6c33f8122a
#184
2015-09-22 09:41:01 -07:00
taiyu
d2e2b04bfd
minor fix
2015-09-18 06:52:04 -07:00
Drew DeVault
e505abfe75
Revert "new_workspace null behavior + testmap functions + regex"
...
This reverts commit e1d18e42a8
.
Fixes #180
cc @taiyu-len
2015-09-13 19:46:16 -04:00
taiyu
e1d18e42a8
new_workspace null behavior + testmap functions + regex
2015-09-12 02:38:03 -07:00
taiyu
aaa0923bc4
cmd status + workspace ws output op
2015-09-10 11:07:40 -07:00
taiyu
71af5b7dde
config modes
2015-09-07 14:29:40 -07:00
taiyu
5408d34c9c
config_path cleanup
2015-09-06 22:48:43 -07:00
taiyu
782729be13
properly free cmd_queue, should partially fix #165 from what i tell from its log.
2015-09-02 08:51:26 -07:00
taiyu
7fbb8b785e
#154 destroy view handler properly destroys views
2015-08-30 16:28:21 -07:00
Luminarys
28e937020a
Made scratchpad handling identical to i3
2015-08-29 21:14:13 -05:00
taiyu
836f24b047
#149 change focus before pointer_mode
2015-08-28 23:43:52 -07:00
taiyu
9acd3d2068
#149 fix, reorder floating windows on click.
2015-08-28 23:01:48 -07:00
taiyu
1924399166
#148 fix, choose non-floating view for inserting container
2015-08-28 22:51:36 -07:00
taiyu
da2d992563
style
2015-08-28 12:31:41 -07:00
taiyu
b359429e90
fix issue #140 , dont set pointer mode if no floating_mod
2015-08-28 12:30:59 -07:00
Luminarys
acb3fbdfb5
Added in default_orientation handling
2015-08-27 21:52:59 -05:00
taiyu
d115335951
move workspace from dead output to other output
2015-08-26 21:25:57 -07:00
Drew DeVault
adcf89cfe4
Do not pass modifiers when getting keysyms from wlc
...
Fixes #124
Keyboard handling can likely be simplified after this change.
2015-08-26 08:24:23 -04:00
Drew DeVault
10eb58667b
Merge pull request #133 from minus7/wlc-keyboard-fix
...
fixed keyboard handling
2015-08-25 16:39:25 -04:00
minus
bfdff821c3
fixed keyboard handling
...
handle_key does not get the keysym from wlc anymore
2015-08-25 22:38:16 +02:00
taiyu
225c2fbe5b
fixed segfault on exit + a little fixup of that floatfocus pr
2015-08-25 13:29:33 -07:00
Drew DeVault
0bf380a0b1
Merge pull request #131 from nicklaswj/master
...
Focus floating window, if any, when the last tiling window has been closed
2015-08-25 16:13:06 -04:00
Nicklas Warming Jacobsen
227d5dbe08
code style clean up
2015-08-25 22:00:39 +02:00
Nicklas Warming Jacobsen
a70b9a9a7a
removed stupid test code
2015-08-25 20:25:38 +02:00
Nicklas Warming Jacobsen
7a1c36716a
Focus floating window, if any, when the last tiling has been closed
2015-08-25 20:15:23 +02:00
minus
ca89ba83a8
changed view visibility to be bool
...
view_visibility enum remains with one constant that is the mask to wlc's view masking
2015-08-25 20:13:35 +02:00
minus
f22c937953
refactored view visibility
...
- replace visibilty mask integers with an enum
- set output's visibilty mask on creation
- added update_visibility to manually update a containers visibility (e.g. when it moved to an invisible workspace)
2015-08-25 18:24:15 +02:00
Drew DeVault
f30fb2452c
Minor fixes to keyboard handling
2015-08-23 15:52:36 -04:00
taiyu
51ab3c9180
merge
2015-08-23 12:34:18 -07:00
Drew DeVault
1ac0c8cd47
Refactor keyboard to consider modified keysyms
...
Press Shift
Press 0 # Reads as ')'
Release Shift
Release 0 # Reads as '0' but we now recognize it as the same
2015-08-23 15:28:49 -04:00
Luminarys
5bfed9b213
Cleanup and minor adjustments to disabling
2015-08-23 13:18:07 -05:00
Luminarys
e01cf0b566
Added in glitchy disabling
2015-08-23 12:23:01 -05:00
Luminarys
98fad060e2
Added in glitchy disabling
2015-08-23 12:23:01 -05:00
Drew DeVault
ac2034df99
Handle wlc log events
2015-08-23 13:08:04 -04:00
taiyu
d72cc92541
style
2015-08-23 07:59:18 -07:00
taiyu
f1e38be09f
no mode for fullscreen
2015-08-22 21:16:46 -07:00
taiyu
42d5d9a177
mouse tile resize mode done
2015-08-22 21:03:45 -07:00
taiyu
e139de0857
floating/tiling move + floating resize cleaned and fixed
2015-08-22 18:01:38 -07:00
Luminarys
c0b68aa6fc
Added in bspwm like view swapping
2015-08-22 01:03:18 -05:00
Luminarys
f6b16ca089
Refactored resizing functions into resize.c
2015-08-21 22:26:11 -05:00
Luminarys
ad1ca31dd5
Altered resize command to prevent resizing past min h/w
2015-08-21 21:22:29 -05:00
Luminarys
e067913fb8
More resize fixes
2015-08-21 20:50:17 -05:00
Luminarys
63a3236064
Fixed resizing
2015-08-21 19:37:19 -05:00
Drew DeVault
39041d07b5
Merge remote-tracking branch 'taiyu-len/master'
2015-08-21 17:00:00 -04:00
Luminarys
f7a6dd7ce9
Minor fix to resizing with mouse
2015-08-21 15:36:37 -05:00
taiyu
d2e1c660b1
swayc_is_fullscreen
2015-08-21 10:45:18 -07:00
taiyu
dde8bfe728
check floating mod for resizing windows, and dont send click
2015-08-21 10:34:37 -07:00
taiyu
5a67628ad9
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merge
2015-08-21 10:28:49 -07:00
taiyu
1a1ac64662
bugfixes, renames
2015-08-21 10:28:37 -07:00
Luminarys
a8eab5492a
Added in proper resize locking
2015-08-21 11:19:06 -05:00
Luminarys
de86c5f4ea
Cleanup and minor fixes
2015-08-21 09:24:26 -05:00
Drew DeVault
464b49eda2
Merge pull request #101 from Luminarys/master
...
Added in basic resizing command.
2015-08-21 07:12:05 -04:00
Luminarys
96ab21b276
Fixes to resizing and added in resize lock once boundaries are exceeded
2015-08-21 00:49:47 -05:00
Luminarys
461da7f87f
Added in bspwm like mouse resizing
2015-08-21 00:17:26 -05:00
taiyu
36e07e9ebc
find_parent_by_type
2015-08-20 09:52:54 -07:00
taiyu
927ef0a5ec
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
2015-08-20 05:08:04 -07:00
taiyu
f5fde7c45c
style
2015-08-20 05:06:22 -07:00
Drew DeVault
85ae987515
Fix compiler warning
2015-08-20 07:38:40 -04:00
taiyu
5ff0619ca1
input state, find_container_in_direction
2015-08-19 20:22:15 -07:00
taiyu
470b4dfbae
key_state.ch, and command conflicts resolved
2015-08-19 18:59:27 -07:00
Drew DeVault
4db89b5fe4
Deal with more xkb bullshit
2015-08-19 21:14:34 -04:00
Drew DeVault
e5d3074d70
Whitelist a handful of characters for keys
...
Ones that don't change when you hold shift
2015-08-19 21:04:34 -04:00
Drew DeVault
1d8591d902
Improve key handling somewhat
...
XKB is fucking bullshit
2015-08-19 20:52:52 -04:00
Drew DeVault
84a778b688
Improve key buffer handling
2015-08-19 20:12:05 -04:00
Drew DeVault
2dabca03f4
Remove logging of all key presess
...
This makes the logs a bit too hard to read
2015-08-19 19:55:40 -04:00
Alexander 'z33ky' Hirsch
c068f47ce3
Fix potential crash when toggling fullscreen mode
2015-08-20 02:30:22 +02:00
taiyu
b79a49a394
use enums for pointer click names
2015-08-19 15:44:13 -07:00
taiyu
a31f23f90c
fixed active_workspace update on focus change
2015-08-19 15:22:55 -07:00
taiyu
269d6ba4ea
fixed
2015-08-19 13:27:06 -07:00
taiyu
48a983316c
floating mode_toggle
2015-08-19 13:02:29 -07:00
Luminarys
c29214f348
Minor style fix
2015-08-19 14:14:54 -05:00
taiyu
e53a95c60d
style
2015-08-19 11:15:13 -07:00
taiyu
7bbb102e2d
reset floating view on floating_mod repress
2015-08-19 10:45:40 -07:00
taiyu
8f529536e3
pointer uses its own modifiers
2015-08-19 10:27:53 -07:00
Luminarys
daea22bc89
Resize lock fixes
2015-08-19 12:06:00 -05:00
Luminarys
9542f8746a
Added in resize locking
2015-08-19 11:28:04 -05:00
taiyu
8205a6fd3b
floating_modifier uses mod_keys instead of anykey
2015-08-19 09:09:35 -07:00
taiyu
e16a4015ff
fixed focus key handler
2015-08-19 00:28:53 -07:00
taiyu
1bf02144e5
fixed floating_modifier related things
2015-08-18 23:52:42 -07:00
Luminarys
f718556a85
Removed debugging, added in proper gap resets for config reloads
2015-08-18 21:05:58 -05:00
Luminarys
ab43927a47
Minor fixes that might be helpful later
2015-08-18 18:04:46 -05:00
Luminarys
7137be9a3f
Fixes to make floating windows work better
2015-08-18 18:03:23 -05:00
Luminarys
3e950c2b1c
Basic fixes to floating movement
2015-08-18 18:03:23 -05:00