]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
4 years agodocs/rc.xml.all: set doubleClickTime default to 500
Johan Malm [Mon, 6 Sep 2021 21:09:59 +0000 (22:09 +0100)]
docs/rc.xml.all: set doubleClickTime default to 500

4 years agodocs/rc.xml: explain purpose & remove <mouse> element
Johan Malm [Mon, 6 Sep 2021 21:07:46 +0000 (22:07 +0100)]
docs/rc.xml: explain purpose & remove <mouse> element

4 years agorcxml: refactor load_default_key_bindings()
Johan Malm [Mon, 6 Sep 2021 21:04:56 +0000 (22:04 +0100)]
rcxml: refactor load_default_key_bindings()

4 years agorcxml: set default mousebind
Johan Malm [Mon, 6 Sep 2021 21:02:02 +0000 (22:02 +0100)]
rcxml: set default mousebind

...if none specified by the user in ~/.config/labwc/rc.xml

4 years agorcxml: refactor mousebind implementation
Johan Malm [Mon, 6 Sep 2021 20:54:00 +0000 (21:54 +0100)]
rcxml: refactor mousebind implementation

4 years agoSpecify GPL-2.0-only
notthewave [Wed, 1 Sep 2021 10:03:12 +0000 (12:03 +0200)]
Specify GPL-2.0-only

4 years agoApply coding std to <mouse> code & add .clang-format
alexander bryan [Tue, 31 Aug 2021 21:43:49 +0000 (17:43 -0400)]
Apply coding std to <mouse> code & add .clang-format

The files:
    include/config/mousebind.h
    src/config/mousebind.c
    src/config/rc.xml
were formatted automatically via clang-format using the rules specified
in the .clang-format file. Specifically, the command;
clang-format -i -style=file include/config/mousebind.h \
src/config/mousebind.c src/config/rc.xml

This is unfortunately adding a break before the brace in enum
declarations

4 years agorefactor <mouse> xml parsing to match rest of xml parsing
alexander bryan [Tue, 31 Aug 2021 02:03:41 +0000 (22:03 -0400)]
refactor <mouse> xml parsing to match rest of xml parsing

4 years agochange mousebind code to use already existing enums
alex [Mon, 30 Aug 2021 22:42:38 +0000 (18:42 -0400)]
change mousebind code to use already existing enums

Also added an #include statement to ssd.h so it would compile without
depending on other headers to be #included before it

4 years agoImplemented <doubleClickTime> in rc.xml
alex [Sun, 29 Aug 2021 22:31:57 +0000 (18:31 -0400)]
Implemented <doubleClickTime> in rc.xml

4 years agoUpdated default/example rc.xml w/ first <mouse> implementation
Alex Bryan [Sun, 29 Aug 2021 21:10:21 +0000 (17:10 -0400)]
Updated default/example rc.xml w/ first <mouse> implementation

4 years agoFirst implemenation of <mouse> in rc.xml
alex [Sun, 29 Aug 2021 18:22:49 +0000 (14:22 -0400)]
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

4 years agofix madly flashing background
Daniel Barlow [Sun, 29 Aug 2021 11:56:14 +0000 (12:56 +0100)]
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

4 years agoMerge pull request #55 from telent/dehardcode-window-cycle-key
Johan Malm [Sun, 29 Aug 2021 09:13:13 +0000 (10:13 +0100)]
Merge pull request #55 from telent/dehardcode-window-cycle-key

fix cycle_view for bindings other than Alt_L

4 years agodon't send any key events to clients when osd onscreen
Daniel Barlow [Sat, 28 Aug 2021 19:37:34 +0000 (20:37 +0100)]
don't send any key events to clients when osd onscreen

4 years agoreindent for sircmpwn style
Daniel Barlow [Sat, 28 Aug 2021 18:05:19 +0000 (19:05 +0100)]
reindent for sircmpwn style

4 years agoMerge branch 'master' of github.com:johanmalm/labwc into dehardcode-window-cycle-key
Daniel Barlow [Sat, 28 Aug 2021 17:52:45 +0000 (18:52 +0100)]
Merge branch 'master' of github.com:johanmalm/labwc into dehardcode-window-cycle-key

4 years agofix cycle_view for bindings other than Alt_L
Daniel Barlow [Sat, 28 Aug 2021 17:42:18 +0000 (18:42 +0100)]
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

4 years agoREADME: add note on swaylock and coding style
Johan Malm [Wed, 25 Aug 2021 19:46:30 +0000 (20:46 +0100)]
README: add note on swaylock and coding style

4 years agoFix more coding style violations
Johan Malm [Wed, 25 Aug 2021 19:45:39 +0000 (20:45 +0100)]
Fix more coding style violations

4 years agoFix coding style following 824282dd
Johan Malm [Wed, 25 Aug 2021 18:59:49 +0000 (19:59 +0100)]
Fix coding style following 824282dd

4 years agoMerge pull request #54 from telent/lockdown
Johan Malm [Tue, 24 Aug 2021 20:56:13 +0000 (21:56 +0100)]
Merge pull request #54 from telent/lockdown

implement input_inhibit protocol, needed for swaylock

4 years agoview: fix impl->set_fullscreen() argument bug
Johan Malm [Tue, 24 Aug 2021 20:53:20 +0000 (21:53 +0100)]
view: fix impl->set_fullscreen() argument bug

4 years agoimplement commented-out bit in seat_disinhibit_input
Daniel Barlow [Tue, 24 Aug 2021 20:24:08 +0000 (21:24 +0100)]
implement commented-out bit in seat_disinhibit_input

4 years agoSupport fullscreen mode (issue #53)
Johan Malm [Mon, 23 Aug 2021 21:05:30 +0000 (22:05 +0100)]
Support fullscreen mode (issue #53)

4 years agocleanup per PR review comments
Daniel Barlow [Mon, 23 Aug 2021 19:33:42 +0000 (20:33 +0100)]
cleanup per PR review comments

4 years agoimplement input_inhibit protocol, needed for swaylock
Daniel Barlow [Sat, 21 Aug 2021 16:12:02 +0000 (17:12 +0100)]
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

4 years agoREADME.md: fix typo
Johan Malm [Sun, 22 Aug 2021 18:26:10 +0000 (19:26 +0100)]
README.md: fix typo

4 years agoforeign: handle output error gracefully
Johan Malm [Sun, 22 Aug 2021 18:14:15 +0000 (19:14 +0100)]
foreign: handle output error gracefully

4 years agotheme: document setting iconify/close/max colors separately
Johan Malm [Sun, 22 Aug 2021 18:11:54 +0000 (19:11 +0100)]
theme: document setting iconify/close/max colors separately

4 years agoREADME: add more links to example themes
Johan Malm [Sun, 22 Aug 2021 18:11:04 +0000 (19:11 +0100)]
README: add more links to example themes

4 years agorcxml: load default keybinds on <keyboard><default />
Johan Malm [Sun, 22 Aug 2021 18:09:31 +0000 (19:09 +0100)]
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

4 years agorcxml: add some default keybinds
Johan Malm [Sun, 22 Aug 2021 16:00:22 +0000 (17:00 +0100)]
rcxml: add some default keybinds

super-return - alacritty
alt-F4       - close window
super-a      - toggle maximize
alt-arrow    - move window to edge

4 years agoview: update title width when resizing view
Johan Malm [Sun, 22 Aug 2021 13:35:34 +0000 (14:35 +0100)]
view: update title width when resizing view

4 years agoconfig: add <core><gap>
Johan Malm [Sun, 22 Aug 2021 13:32:19 +0000 (14:32 +0100)]
config: add <core><gap>

Specify the distance in pixels between views and output edges when using
movement actions such as MoveToEdge

4 years agooutput: fallback to other output modes if preferred mode fails
Johan Malm [Sun, 22 Aug 2021 13:14:50 +0000 (14:14 +0100)]
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.

4 years agossd: refactor in preparation for making ssd_visible_box() private
Johan Malm [Sun, 22 Aug 2021 13:12:05 +0000 (14:12 +0100)]
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.

4 years agossd: refactor and position title nearer left hand edge
Johan Malm [Sun, 22 Aug 2021 13:06:11 +0000 (14:06 +0100)]
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.

4 years agoMerge pull request #49 from telent/primary-selection-gtk-workaround
Johan Malm [Sat, 21 Aug 2021 10:38:22 +0000 (11:38 +0100)]
Merge pull request #49 from telent/primary-selection-gtk-workaround

workaround Gtk primary selection bug by changing order of globals

4 years agossd: handle font texture creation when view->width not yet set
Johan Malm [Sat, 21 Aug 2021 10:16:15 +0000 (11:16 +0100)]
ssd: handle font texture creation when view->width not yet set

4 years agoworkaround Gtk primary selection bug by changing order of globals
Daniel Barlow [Fri, 20 Aug 2021 23:06:58 +0000 (00:06 +0100)]
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.

4 years agoconfig: support setting menu item font
Johan Malm [Fri, 20 Aug 2021 19:27:52 +0000 (20:27 +0100)]
config: support setting menu item font

In rc.xml, support

<font place="MenuItem">
  <name></name>
  <size></size>
</font>

4 years agofont: font_texture_create() support font size argument
Johan Malm [Fri, 20 Aug 2021 19:20:49 +0000 (20:20 +0100)]
font: font_texture_create() support font size argument

4 years agoMerge pull request #48 from telent/primary_selection
Johan Malm [Thu, 19 Aug 2021 19:30:35 +0000 (20:30 +0100)]
Merge pull request #48 from telent/primary_selection

add support for primary selection

4 years agoadd support for primary selection
Daniel Barlow [Wed, 18 Aug 2021 22:41:07 +0000 (23:41 +0100)]
add support for primary selection

4 years agoview: scale correctly in view_maximize()
Johan Malm [Tue, 17 Aug 2021 06:25:57 +0000 (07:25 +0100)]
view: scale correctly in view_maximize()

4 years agoview: apply output scale in view_center()
Johan Malm [Tue, 17 Aug 2021 06:24:27 +0000 (07:24 +0100)]
view: apply output scale in view_center()

4 years agolayer-shell: replace close() with destroy()
Johan Malm [Mon, 16 Aug 2021 06:18:08 +0000 (07:18 +0100)]
layer-shell: replace close() with destroy()

Update for the wlroots breaking change in
https://github.com/swaywm/wlroots/pull/3108

4 years agoosd: support 'alt-tab' on screen display
Johan Malm [Mon, 16 Aug 2021 06:16:56 +0000 (07:16 +0100)]
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.

4 years agoserver: update view->margin after theme change
Johan Malm [Wed, 11 Aug 2021 20:04:22 +0000 (21:04 +0100)]
server: update view->margin after theme change

4 years agotheme: support different colored buttons
Johan Malm [Wed, 11 Aug 2021 19:58:35 +0000 (20:58 +0100)]
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.

4 years agoREADME: add note on themes and keyboard settings
Johan Malm [Tue, 10 Aug 2021 20:32:32 +0000 (21:32 +0100)]
README: add note on themes and keyboard settings

4 years agoREADME: minor update
Johan Malm [Mon, 9 Aug 2021 16:30:21 +0000 (17:30 +0100)]
README: minor update

- Add description to video links
- Change description of labwc slightly
- Add bullet points on what labwc supports

4 years agomenu: fix breakage caused by f857aea8
Johan Malm [Mon, 9 Aug 2021 16:28:39 +0000 (17:28 +0100)]
menu: fix breakage caused by f857aea8

4 years agodocs/environment: add example for keyboard toggle
Johan Malm [Mon, 9 Aug 2021 16:26:50 +0000 (17:26 +0100)]
docs/environment: add example for keyboard toggle

4 years agoREADME: update key/mouse binds
Johan Malm [Sat, 7 Aug 2021 08:59:50 +0000 (09:59 +0100)]
README: update key/mouse binds

4 years agossd: add application title to title bar
Johan Malm [Sat, 7 Aug 2021 08:35:53 +0000 (09:35 +0100)]
ssd: add application title to title bar

4 years agoMake font_texture_create() more generic
Johan Malm [Sat, 7 Aug 2021 07:35:46 +0000 (08:35 +0100)]
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()

4 years agoREADME: add video and mouse-binds
Johan Malm [Thu, 5 Aug 2021 21:09:58 +0000 (22:09 +0100)]
README: add video and mouse-binds

4 years agoforeign: handle minimize request
Johan Malm [Thu, 5 Aug 2021 12:00:34 +0000 (13:00 +0100)]
foreign: handle minimize request

4 years agoforeign: handle maximize request
Johan Malm [Thu, 5 Aug 2021 11:52:42 +0000 (12:52 +0100)]
foreign: handle maximize request

4 years agoAdd simple foreign toplevel implementation
Johan Malm [Thu, 5 Aug 2021 11:18:10 +0000 (12:18 +0100)]
Add simple foreign toplevel implementation

4 years agoview: initialise x+y variables to handle edge case
Johan Malm [Wed, 4 Aug 2021 20:43:07 +0000 (21:43 +0100)]
view: initialise x+y variables to handle edge case

4 years agocursor: handle double click on title
Johan Malm [Mon, 2 Aug 2021 16:30:34 +0000 (17:30 +0100)]
cursor: handle double click on title

4 years agoview: add view_toggle_maximize()
Johan Malm [Mon, 2 Aug 2021 15:49:41 +0000 (16:49 +0100)]
view: add view_toggle_maximize()

4 years agoserver: add missing header file
Johan Malm [Mon, 2 Aug 2021 15:45:49 +0000 (16:45 +0100)]
server: add missing header file

4 years agoserver: update ssd on re-configure
Johan Malm [Fri, 30 Jul 2021 18:42:56 +0000 (19:42 +0100)]
server: update ssd on re-configure

4 years agocursor: simplify process_cursor_motion()
Johan Malm [Fri, 30 Jul 2021 13:26:54 +0000 (14:26 +0100)]
cursor: simplify process_cursor_motion()

...by using wlr_xcursor_get_resize_name() instead of handling each
'resize_edge' case.

4 years agossd: add support for interacting with bottom corners
Johan Malm [Mon, 26 Jul 2021 19:37:36 +0000 (20:37 +0100)]
ssd: add support for interacting with bottom corners

4 years agossd: add ssd_interactive_box()
Johan Malm [Mon, 26 Jul 2021 19:06:52 +0000 (20:06 +0100)]
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.

4 years agoRemove src/common/log.c
Johan Malm [Fri, 23 Jul 2021 20:15:55 +0000 (21:15 +0100)]
Remove src/common/log.c

Use wlr_log() instead

4 years agoRemove info() and die()
Johan Malm [Thu, 22 Jul 2021 20:30:17 +0000 (21:30 +0100)]
Remove info() and die()

4 years agoxdg: use "usable_area" when positioning view
Johan Malm [Wed, 21 Jul 2021 21:04:54 +0000 (22:04 +0100)]
xdg: use "usable_area" when positioning view

4 years agoHandle alt + cursor button outside view
Johan Malm [Wed, 21 Jul 2021 18:27:11 +0000 (19:27 +0100)]
Handle alt + cursor button outside view

4 years agoview.c: assign struct rather than using memcpy
Johan Malm [Wed, 21 Jul 2021 18:25:34 +0000 (19:25 +0100)]
view.c: assign struct rather than using memcpy

Suggested-by: @xerpi
4 years agotheme: reset theme values on reconfigure
Johan Malm [Tue, 20 Jul 2021 20:27:41 +0000 (21:27 +0100)]
theme: reset theme values on reconfigure

4 years agoAdd view_move_to_edge() to header file
Johan Malm [Tue, 20 Jul 2021 19:24:39 +0000 (20:24 +0100)]
Add view_move_to_edge() to header file

4 years agoUpdate man pages
Johan Malm [Tue, 20 Jul 2021 19:06:48 +0000 (20:06 +0100)]
Update man pages

4 years agoview: remove duplicate code
Johan Malm [Tue, 20 Jul 2021 19:06:26 +0000 (20:06 +0100)]
view: remove duplicate code

4 years agoaction: add 'MoveToEdge'
Johan Malm [Tue, 20 Jul 2021 18:54:57 +0000 (19:54 +0100)]
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>

4 years agoview: add view_output() and view_wlr_output()
Johan Malm [Tue, 20 Jul 2021 18:40:37 +0000 (19:40 +0100)]
view: add view_output() and view_wlr_output()

4 years agorcxml: allow <theme><font> without place="" attribute
Johan Malm [Mon, 19 Jul 2021 19:46:32 +0000 (20:46 +0100)]
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>

4 years agorcxml.c: survive incorrect keybind
Johan Malm [Mon, 19 Jul 2021 06:07:33 +0000 (07:07 +0100)]
rcxml.c: survive incorrect keybind

4 years agodesktop: handle missing output safely
Johan Malm [Mon, 19 Jul 2021 06:06:36 +0000 (07:06 +0100)]
desktop: handle missing output safely

4 years agobuild: bump wlroots dependency version number
Johan Malm [Fri, 16 Jul 2021 18:58:22 +0000 (19:58 +0100)]
build: bump wlroots dependency version number

4 years agodocs/rc.xml: comply with new syntax
Johan Malm [Fri, 16 Jul 2021 17:18:09 +0000 (18:18 +0100)]
docs/rc.xml: comply with new syntax

4 years agorcxml: change <lab><xdg_shell_server_side_deco> to <core><decoration>
Johan Malm [Fri, 16 Jul 2021 16:38:17 +0000 (17:38 +0100)]
rcxml: change <lab><xdg_shell_server_side_deco> to <core><decoration>

4 years agorcxml: use root-node <labwc_config>
Johan Malm [Fri, 16 Jul 2021 16:30:07 +0000 (17:30 +0100)]
rcxml: use root-node <labwc_config>

4 years agoMove corner textures from ssd.c to theme.c
Johan Malm [Fri, 16 Jul 2021 16:07:00 +0000 (17:07 +0100)]
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.

4 years agoaction: add "ToggleMaximize"
Johan Malm [Tue, 13 Jul 2021 20:54:22 +0000 (21:54 +0100)]
action: add "ToggleMaximize"

4 years agoOpen new views on output where cursor is
Johan Malm [Tue, 13 Jul 2021 20:50:02 +0000 (21:50 +0100)]
Open new views on output where cursor is

4 years agoaction: add "Close" to close top-most view
Johan Malm [Mon, 12 Jul 2021 20:46:10 +0000 (21:46 +0100)]
action: add "Close" to close top-most view

4 years agoAdd labwc.desktop (issue #36)
Johan Malm [Mon, 12 Jul 2021 20:41:12 +0000 (21:41 +0100)]
Add labwc.desktop (issue #36)

4 years agolayers: take into account usable area when maximizing views
Johan Malm [Mon, 12 Jul 2021 20:39:09 +0000 (21:39 +0100)]
layers: take into account usable area when maximizing views

4 years agocursor: initialize view_area
Johan Malm [Mon, 12 Jul 2021 18:59:19 +0000 (19:59 +0100)]
cursor: initialize view_area

...to avoid inadvertantly triggering close/minimize/maximize

4 years agocursor: handle button press on layer-surface (issue #41)
Johan Malm [Mon, 12 Jul 2021 15:44:30 +0000 (16:44 +0100)]
cursor: handle button press on layer-surface (issue #41)

4 years agocursor: do not pass _press_ to client when alt held
Johan Malm [Fri, 9 Jul 2021 21:29:48 +0000 (22:29 +0100)]
cursor: do not pass _press_ to client when alt held

4 years agocursor: handle alt + mouse button (issue #40)
Johan Malm [Fri, 9 Jul 2021 20:58:54 +0000 (21:58 +0100)]
cursor: handle alt + mouse button (issue #40)

Move view on alt + left mouse button
Resize view on alt + right mouse button

4 years agokeyboard: remove printf() debug message
Johan Malm [Fri, 9 Jul 2021 20:49:44 +0000 (21:49 +0100)]
keyboard: remove printf() debug message

4 years agoxwayland-shell: unmaximize on first map
Johan Malm [Fri, 9 Jul 2021 20:47:51 +0000 (21:47 +0100)]
xwayland-shell: unmaximize on first map

...to ensure consistency with xdg-shell implementation and to avoid
padding/margin complications.