Commit graph

1376 commits

Author SHA1 Message Date
Johan Malm
1c831bc051 interactive.c: set move/resize cursor
Fixes issue #124
2021-11-28 21:47:24 +00:00
John Lindgren
4d92391246 Fix graphical artifacts after adding/removing outputs
When an output is added or removed, the position of the other
outputs can also change, resulting in windows moving between them.
We need to redraw all the outputs (not just the new one) to prevent
stale/corrupted screen contents.
2021-11-28 08:32:45 +00:00
ARDiDo
c5b8688894 Title repainting: move call to damage_all_outputs() to view_update() 2021-11-27 14:35:27 -05:00
John Lindgren
816a61b2fa Fix invisible cursor at startup 2021-11-27 14:31:23 -05:00
John Lindgren
1bd26d259a Force repaint after window title changes
When a window title changed dynamically (for example when running
"cd" within an xfce4-terminal), the titlebar did not immediately
update to show the new title.  (The titlebar would update as soon
as the mouse cursor moved.)
2021-11-27 14:20:37 -05:00
Johan Malm
d50c2f2eac Fix minor style violations 2021-11-26 19:27:50 +00:00
Johan Malm
bca57213a0 Remove min/max macros
...and replace with a local MAX macro, because:

- They contain a ({}) construct which is a GNU extension and that's
  against Drew's coding style
- min() is not used anyway
- MAX() clashes with cairo's macro, so best to not add this in labwc.h
2021-11-26 19:16:00 +00:00
Johan Malm
b7c326ec6f view.c: fix coding style 2021-11-26 18:57:25 +00:00
John Lindgren
c01d1f124c Basic support for Move action
- Add Move as a default mouse binding for a Titlebar Press action
- Remove the hard-coded handling in cursor_button()

Example config snippet:

    <mouse>
      <context name="Titlebar">
        <mousebind button="Left" action="Press">
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Move"/>
        </mousebind>
      </context>
    </mouse>
2021-11-26 18:25:04 +00:00
John Lindgren
687993370f Enable new outputs (before setting mode)
Fixes the following error with wlroots-git 0.14.0.r391.g585a908a-1:

    [DEBUG] [types/output/output.c:603] Tried to modeset a disabled output
2021-11-26 16:13:58 +00:00
ARDiDo
6f2f79b8d7 HiDPI: fix move_to_edge and snap_to_edge 2021-11-24 17:33:10 -05:00
ARDiDo
ed3d0cd523 HiDPI: fix osd placement and maximized scale 2021-11-24 17:33:10 -05:00
ARDiDo
6698ca7300 HiDPI: send enter and leave events to views when switching monitors 2021-11-24 17:33:10 -05:00
ARDiDo
1d92404108 HiDPI: send output_enter events to views when they open 2021-11-24 17:33:10 -05:00
ARDiDo
aa9720f627 Add support for basic idle and idle inhibitor protocols 2021-11-22 21:58:07 +00:00
Jan Beich
3e5458fa24 server: chase swaywm/wlroots@fdf3169b41
ld: error: undefined symbol: wlr_backend_get_renderer
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_rect)
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_rect)
>>> referenced by output.c
>>>               labwc.p/src_output.c.o:(render_texture)
>>> referenced 5 more times

Based on 5865af75cf
Based on a6538ced35
2021-11-21 07:52:19 +00:00
Johan Malm
e227de1346 Add SPDX identifiers 2021-11-13 21:56:53 +00:00
Johan Malm
ff75b4cd26 xwayland.c,xdg-deco.c: fix style 2021-11-13 21:45:12 +00:00
Johan Malm
5747ede20d layers: fix clang warning
...for unused variables.

We should damage the surface really, but this will soon be
overtaken by events when wlr_scene is implemented.
2021-11-13 21:36:33 +00:00
ARDiDo
c107ea7e38 resistance: check to see if the view is on the output before resisting 2021-11-13 13:47:12 -05:00
ARDiDo
a54e0fb4b6 view: get the closest wlr_output in view_wlr_output() 2021-11-13 12:09:40 -05:00
Dima Krasner
04450b5e4d build: fix name collision with wlroots, when linking statically 2021-11-08 19:10:37 +00:00
Johan Malm
dd1663e627 theme: add menu.overlap.{x,y} 2021-11-08 17:36:39 +00:00
Johan Malm
cd31283ba3 menu: support inline submenus
...for example:

<menu id="root-menu" label="">
  <menu id="submenu" label="submenu">
    <item label="foo"></item>
  </menu>
  <item label="bar"></item>
</menu>
2021-11-08 17:20:37 +00:00
Johan Malm
b878db57a7 menu: support submenus
Support submenus defined as follows:

<menu id="submenu" label="Submenu">
  <item label="item1.1"></item>
  <item label="item1.2"></item>
</menu>

<menu id="root-menu" label="">
  <menu id="submenu" />
  <item label="item0"></item>
</menu>
2021-11-02 18:31:19 +00:00
ARDiDo
6b948c7106 mousebind: add support for more contexts and mouse events 2021-11-02 18:14:50 +00:00
Joshua Ashton
98085b4546 keyboard: Fix cycle view taking precedence over TTY switch
I had a bug where cycle view would not close and I was unable to switch to a TTY as it was open.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-11-01 22:14:17 +00:00
Joshua Ashton
23b5eb294e keyboard: Fix handled check
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-11-01 22:14:17 +00:00
ARDiDo
33e55dbc46 output: update layer surfaces on output geometry changes 2021-10-30 16:07:10 +01:00
ARDiDo
7730ece837 resistance: don't use gap value 2021-10-26 21:15:13 +01:00
ARDiDo
9d37860a40 resistance: update documentation + default strength value 2021-10-26 21:15:13 +01:00
ARDiDo
91a9f1dec9 resistance: remove bool, add resistance.h + license 2021-10-26 21:15:13 +01:00
ARDiDo
4d5b4be608 resistance: improve readability 2021-10-26 21:15:13 +01:00
ARDiDo
c4995d7bc2 resistance: fix meson.build 2021-10-26 21:15:13 +01:00
ARDiDo
ef78d40cb7 resistance: move strength.c to resistance.c 2021-10-26 21:15:13 +01:00
ARDiDo
8f8359597c resistance: move to <resistance> node 2021-10-26 21:15:13 +01:00
ARDiDo
ac58ab10a7 resize resistance support 2021-10-26 21:15:13 +01:00
ARDiDo
a24e17dea7 Improve expandibility 2021-10-26 21:15:13 +01:00
ARDiDo
e1c8b3c641 Partial screen_edge_strength 2021-10-26 21:15:13 +01:00
Johan Malm
c48b9d44d1 config: add <core><adaptiveSync> 2021-10-22 20:23:09 +01:00
Johan Malm
d9253331cd config: make capitalization consistent in rc.xml 2021-10-21 20:40:14 +01:00
Johan Malm
b1beab473c cursor: do not crash on layer popup/subsurfaces 2021-10-21 20:37:30 +01:00
Joshua Ashton
95ce9e0264 keybind: Fix shift modifiers
Need to lower the syms for these to match!

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-21 18:15:42 +01:00
Johan Malm
174e82a608 layers: support popups 2021-10-20 22:32:46 +01:00
Johan Malm
08a54bd3f5 desktop: use correct coordinates layer_surface_at()
Use output coordinates rather than layout coordinates in order to
correctly handle pointer button event on multi-output setup.
2021-10-20 20:57:12 +01:00
Johan Malm
26454e3115 xwayland: clear wlr_xwayland_surface in handle_destroy
Avoids wlr_xwayland_surface becoming a dangling pointer if a view is not
destroyed immediately.

See swaywm/sway@215787e8
2021-10-20 20:34:47 +01:00
Joshua Ashton
8048f5f497 server: Expose viewporter
Needed for some games to fake modesets.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-20 18:49:22 +01:00
Joshua Ashton
35e9d8cb35 output: Implement src box for viewporter
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-20 18:49:22 +01:00
Joshua Ashton
0a7f1b51f7 xwayland: Implement set_decorations
Fixes games going between borderless and normal windowed modes.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-20 18:49:02 +01:00
Joshua Ashton
89f09567f5 xdg-deco: Respect decoration requests properly
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-20 18:49:02 +01:00