Commit graph

530 commits

Author SHA1 Message Date
alex
dfdb4e4b0e First implemenation of <mouse> in rc.xml
Can successfully parse the following XML and and implement the action:

<mouse>
    <context name="TitleBar">
        <mousebind button="Left" action="DoubleClick">
            <action name="ToggleMaximize"/>
        </mousebind>
    </context>
</mouse>

The XML parsing code for this looks A LOT different than the already
existing XML parsing code. It may have to be reworked
2021-09-01 07:05:37 +01:00
Daniel Barlow
75564d6b8d fix madly flashing background
the preprocessor symbol DEBUG is now defined to (0) even
when debugging should not not be enabled, so change from checking
2021-08-29 16:13:36 +01:00
Johan Malm
5a84ddf2c2
Merge pull request #55 from telent/dehardcode-window-cycle-key
fix cycle_view for bindings other than Alt_L
2021-08-29 10:13:13 +01:00
Daniel Barlow
a719a7681f don't send any key events to clients when osd onscreen 2021-08-28 20:37:34 +01:00
Daniel Barlow
c456e85e2f reindent for sircmpwn style 2021-08-28 19:05:19 +01:00
Daniel Barlow
431da3ed0e Merge branch 'master' of github.com:johanmalm/labwc into dehardcode-window-cycle-key 2021-08-28 18:52:45 +01:00
Daniel Barlow
864746e573 fix cycle_view for bindings other than Alt_L
Change the code that detects when to stop cycling the view,
so that instead of looking for the left Alt key release it
looks for all modifiers released (thus. will work whether you
have this action bound to Alt-Tab, C-Tab, Meta-Tab, etc)

To do this we move the test from keyboard_key.notify to
the later signal keyboard_modifiers.notify, because the xkb_state
has been updated by then and the modifier state will be
accurate
2021-08-28 18:42:18 +01:00
Johan Malm
2be873c64b README: add note on swaylock and coding style 2021-08-25 20:46:30 +01:00
Johan Malm
ea3ea49783 Fix more coding style violations 2021-08-25 20:45:39 +01:00
Johan Malm
a9042e3cde Fix coding style following 824282dd 2021-08-25 19:59:49 +01:00
Johan Malm
824282dd2e
Merge pull request #54 from telent/lockdown
implement input_inhibit protocol, needed for swaylock
2021-08-24 21:56:13 +01:00
Johan Malm
7bfe350f25 view: fix impl->set_fullscreen() argument bug 2021-08-24 21:53:20 +01:00
Daniel Barlow
ab9838888d implement commented-out bit in seat_disinhibit_input 2021-08-24 21:24:08 +01:00
Johan Malm
645a8e46a6 Support fullscreen mode (issue #53) 2021-08-23 22:05:30 +01:00
Daniel Barlow
eb2d0918ba cleanup per PR review comments 2021-08-23 20:33:42 +01:00
Daniel Barlow
39b1d92f9b implement input_inhibit protocol, needed for swaylock
this is in "it appears to work" state, though I blindly copy-pasted a little
more code than I'm happy with, so might benefit from a review
2021-08-22 21:30:42 +01:00
Johan Malm
65f5bf189d README.md: fix typo 2021-08-22 19:26:10 +01:00
Johan Malm
5563cd1b20 foreign: handle output error gracefully 2021-08-22 19:14:15 +01:00
Johan Malm
289c784d5e theme: document setting iconify/close/max colors separately 2021-08-22 19:11:54 +01:00
Johan Malm
88afd8cfa8 README: add more links to example themes 2021-08-22 19:11:04 +01:00
Johan Malm
b7573c8d36 rcxml: load default keybinds on <keyboard><default />
This is an addition to the openbox specification and provides a way to
keep config files simpler whilst allowing user-specific keybinds.

docs/rc.xml shows a simple config file with <default />
docs/rc.xml.full shows the full config
2021-08-22 19:09:31 +01:00
Johan Malm
93244cfbe1 rcxml: add some default keybinds
super-return - alacritty
alt-F4       - close window
super-a      - toggle maximize
alt-arrow    - move window to edge
2021-08-22 17:00:22 +01:00
Johan Malm
0aee42473b view: update title width when resizing view 2021-08-22 14:35:34 +01:00
Johan Malm
a6eb29ad33 config: add <core><gap>
Specify the distance in pixels between views and output edges when using
movement actions such as MoveToEdge
2021-08-22 14:32:19 +01:00
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