Commit graph

1416 commits

Author SHA1 Message Date
Daniel Barlow
44082ad80a workaround Gtk primary selection bug by changing order of globals
This makes primary selections work at least with Emacs (pgtk backend)
and Firefox. I haven't tested others.
2021-08-21 00:17:15 +01:00
Johan Malm
3990018bb9 config: support setting menu item font
In rc.xml, support

<font place="MenuItem">
  <name></name>
  <size></size>
</font>
2021-08-20 20:27:52 +01:00
Johan Malm
a668f6f73d font: font_texture_create() support font size argument 2021-08-20 20:20:49 +01:00
Daniel Barlow
804384368c add support for primary selection 2021-08-18 23:42:56 +01:00
Johan Malm
3efcfaf145 view: scale correctly in view_maximize() 2021-08-17 07:25:57 +01:00
Johan Malm
620cd84a8a view: apply output scale in view_center() 2021-08-17 07:24:27 +01:00
Johan Malm
9e2af19caf layer-shell: replace close() with destroy()
Update for the wlroots breaking change in
https://github.com/swaywm/wlroots/pull/3108
2021-08-16 07:18:08 +01:00
Johan Malm
77ade08158 osd: support 'alt-tab' on screen display
The osd window shows title, app_id/class and shell of all views that can
be cycled between.
2021-08-16 07:16:56 +01:00
Johan Malm
86c384b227 server: update view->margin after theme change 2021-08-11 21:04:22 +01:00
Johan Malm
dff6dba54b theme: support different colored buttons
Add the following theme keys:

- window.active.button.iconify.unpressed.image.color
- window.active.button.max.unpressed.image.color
- window.active.button.close.unpressed.image.color
- window.inactive.button.iconify.unpressed.image.color
- window.inactive.button.max.unpressed.image.color
- window.inactive.button.close.unpressed.image.color

As far as I can tell, the openbox documentation does not mention the
entries listed above, but openbox does support them and some themes
do use them.
2021-08-11 20:58:35 +01:00
Johan Malm
9a9cd609f6 menu: fix breakage caused by f857aea8 2021-08-09 17:28:39 +01:00
Johan Malm
f857aea8f4 ssd: add application title to title bar 2021-08-07 09:35:53 +01:00
Johan Malm
5ecf0e1e7e Make font_texture_create() more generic
Move font_texture_create() to font.c so it can be used for purposes other
than rendering the menu, for example server side decoration.

Refactor menu.c and menu.h to use this more generic font_texture_create()
2021-08-07 08:35:46 +01:00
Johan Malm
9cf0608aba foreign: handle minimize request 2021-08-05 13:00:34 +01:00
Johan Malm
b4722d988e foreign: handle maximize request 2021-08-05 12:52:42 +01:00
Johan Malm
042ea266a5 Add simple foreign toplevel implementation 2021-08-05 12:18:10 +01:00
Johan Malm
7dc4ae36ca view: initialise x+y variables to handle edge case 2021-08-04 21:43:07 +01:00
Johan Malm
6a5deb628e cursor: handle double click on title 2021-08-02 17:30:34 +01:00
Johan Malm
526ab1ae75 view: add view_toggle_maximize() 2021-08-02 16:49:41 +01:00
Johan Malm
d6376808b8 server: add missing header file 2021-08-02 16:45:49 +01:00
Johan Malm
2aeb4ee643 server: update ssd on re-configure 2021-07-30 19:42:56 +01:00
Johan Malm
fc542e6da1 cursor: simplify process_cursor_motion()
...by using wlr_xcursor_get_resize_name() instead of handling each
'resize_edge' case.
2021-07-30 14:26:54 +01:00
Johan Malm
1dc3059707 ssd: add support for interacting with bottom corners 2021-07-26 20:37:36 +01:00
Johan Malm
399322052b ssd: add ssd_interactive_box()
...which is used by desktop_view_at() and ssd_at() to determine which
decoration part is under the cursor.

ssd_interactive_box() allows deocoration parts to extend outside the
visible regions, and therefore supports a wider 'resize-edges' area than
the border itself.
2021-07-26 20:06:52 +01:00
Johan Malm
82e47ac1f5 Remove src/common/log.c
Use wlr_log() instead
2021-07-23 21:15:55 +01:00
Johan Malm
20fd8f59a7 Remove info() and die() 2021-07-22 21:30:17 +01:00
Johan Malm
22f5073ebd xdg: use "usable_area" when positioning view 2021-07-21 22:04:54 +01:00
Johan Malm
0eac290d54 Handle alt + cursor button outside view 2021-07-21 19:27:11 +01:00
Johan Malm
2b9c6a503c view.c: assign struct rather than using memcpy
Suggested-by: @xerpi
2021-07-21 19:25:34 +01:00
Johan Malm
7bd2576138 theme: reset theme values on reconfigure 2021-07-20 21:27:41 +01:00
Johan Malm
5e83ce6b46 Add view_move_to_edge() to header file 2021-07-20 20:24:39 +01:00
Johan Malm
fa13f8f197 view: remove duplicate code 2021-07-20 20:06:26 +01:00
Johan Malm
49a73befdb action: add 'MoveToEdge'
Currently only moves view to edges of outputs

Example keybind:

<keybind key="A-Left">
  <action name="MoveToEdge">
    <direction>left</direction>
  </action>
</keybind>
2021-07-20 19:54:57 +01:00
Johan Malm
10264110f1 view: add view_output() and view_wlr_output() 2021-07-20 19:40:37 +01:00
Johan Malm
2e4f931469 rcxml: allow <theme><font> without place="" attribute
The construct below will set the font for all supported places. Currently
that's only ActiveWindow, but is likely to include InactiveWindow,
MenuHeader, MenuItem and OnScreenDisplay at some point.

<theme>
  <font>
    <name></name>
    <size></size>
  </font>
</theme>
2021-07-19 20:46:32 +01:00
Johan Malm
ec2c67338a rcxml.c: survive incorrect keybind 2021-07-19 07:07:33 +01:00
Johan Malm
3bc379cc08 desktop: handle missing output safely 2021-07-19 07:06:36 +01:00
Johan Malm
b31c1c4b75 rcxml: change <lab><xdg_shell_server_side_deco> to <core><decoration> 2021-07-16 17:38:17 +01:00
Johan Malm
a9b46131ab rcxml: use root-node <labwc_config> 2021-07-16 17:30:07 +01:00
Johan Malm
e50bb45890 Move corner textures from ssd.c to theme.c
It makes more sense to just keep one set of corner textures for server
side view decorations, rather than storing a set for each view. This also
keeps the code simpler when when changing theme parameters.
2021-07-16 17:07:00 +01:00
Johan Malm
c668fd9b07 action: add "ToggleMaximize" 2021-07-13 21:54:22 +01:00
Johan Malm
69f0f68cc2 Open new views on output where cursor is 2021-07-13 21:50:02 +01:00
Johan Malm
eaed1a3cab action: add "Close" to close top-most view 2021-07-12 21:47:27 +01:00
Johan Malm
a3ac2f2767 layers: take into account usable area when maximizing views 2021-07-12 21:39:09 +01:00
Johan Malm
743803de3b cursor: initialize view_area
...to avoid inadvertantly triggering close/minimize/maximize
2021-07-12 19:59:19 +01:00
Johan Malm
ee15a5fe56 cursor: handle button press on layer-surface (issue #41) 2021-07-12 16:44:30 +01:00
Johan Malm
97a5695ccb cursor: do not pass _press_ to client when alt held 2021-07-09 22:29:48 +01:00
Johan Malm
b194881ac2 cursor: handle alt + mouse button (issue #40)
Move view on alt + left mouse button
Resize view on alt + right mouse button
2021-07-09 21:58:54 +01:00
Johan Malm
b19eecbbd4 keyboard: remove printf() debug message 2021-07-09 21:49:44 +01:00
Johan Malm
c6ae0b5694 xwayland-shell: unmaximize on first map
...to ensure consistency with xdg-shell implementation and to avoid
padding/margin complications.
2021-07-09 21:47:51 +01:00