Commit graph

506 commits

Author SHA1 Message Date
Johan Malm
5cf4539827 output: fallback to other output modes if preferred mode fails
See sway@4cdc4ac6

Sometimes the preferred mode is not available due to hardware
constraints. In these cases it is better to fallback to lower modes than
to end up with a black screen.
2021-08-22 14:14:50 +01:00
Johan Malm
8c96c65018 ssd: refactor in preparation for making ssd_visible_box() private
Prepare to move code from output/render functions to ssd. We want
rendering functions to just render, not calculate decoration geometry
and such like.
2021-08-22 14:12:05 +01:00
Johan Malm
5f01c49b72 ssd: refactor and position title nearer left hand edge
Put title deco at the end of linked list to render it on top of corner
edges.
2021-08-22 14:06:11 +01:00
Johan Malm
ec5603dbd0
Merge pull request #49 from telent/primary-selection-gtk-workaround
workaround Gtk primary selection bug by changing order of globals
2021-08-21 11:38:22 +01:00
Johan Malm
c13a520673 ssd: handle font texture creation when view->width not yet set 2021-08-21 11:16:15 +01:00
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
Johan Malm
16620698fb
Merge pull request #48 from telent/primary_selection
add support for primary selection
2021-08-19 20:30:35 +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
7ef4feddc7 README: add note on themes and keyboard settings 2021-08-10 21:32:47 +01:00
Johan Malm
2e5927229b README: minor update
- Add description to video links
- Change description of labwc slightly
- Add bullet points on what labwc supports
2021-08-09 17:30:21 +01:00
Johan Malm
9a9cd609f6 menu: fix breakage caused by f857aea8 2021-08-09 17:28:39 +01:00
Johan Malm
0e57c65393 docs/environment: add example for keyboard toggle 2021-08-09 17:26:50 +01:00
Johan Malm
41fe085824 README: update key/mouse binds 2021-08-07 09:59:50 +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
8fc6f795db README: add video and mouse-binds 2021-08-05 22:09:58 +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
93c9ec6683 Update man pages 2021-07-20 20:06:48 +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
c9312edf0b build: bump wlroots dependency version number 2021-07-16 19:58:22 +01:00