]> git.mdlowis.com Git - proto/labwc.git/log
proto/labwc.git
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.

4 years agoxwayland-shell: center view on first map
Johan Malm [Fri, 9 Jul 2021 20:45:38 +0000 (21:45 +0100)]
xwayland-shell: center view on first map

4 years agoxdg-shell: center view on first map
Johan Malm [Fri, 9 Jul 2021 20:43:27 +0000 (21:43 +0100)]
xdg-shell: center view on first map

...and take into account output layout co-ordinates.

Previously xdg-shell views were just positioned at (0, 0) on first map
regardless of output co-ordinates.

Fix issue #39

4 years agoview: add view_center()
Johan Malm [Fri, 9 Jul 2021 20:39:20 +0000 (21:39 +0100)]
view: add view_center()

4 years agoREADME.md: fix typo
Johan Malm [Fri, 9 Jul 2021 20:34:23 +0000 (21:34 +0100)]
README.md: fix typo

4 years agoNEWS.md: re-format
Johan Malm [Fri, 9 Jul 2021 20:34:00 +0000 (21:34 +0100)]
NEWS.md: re-format

4 years agomenu/theme: use wlr_texture_destroy()
Johan Malm [Thu, 1 Jul 2021 18:21:09 +0000 (19:21 +0100)]
menu/theme: use wlr_texture_destroy()

4 years agoaction: stop showing alt-tab info messages
Johan Malm [Thu, 1 Jul 2021 17:02:25 +0000 (18:02 +0100)]
action: stop showing alt-tab info messages

4 years agokeyboard: catch C-A-F1 to C-A-F12 to switch tty
Johan Malm [Thu, 1 Jul 2021 16:53:47 +0000 (17:53 +0100)]
keyboard: catch C-A-F1 to C-A-F12 to switch tty

Fix issue #34 item 4

4 years agooutput: assert instead of quiet return
Johan Malm [Wed, 30 Jun 2021 19:12:58 +0000 (20:12 +0100)]
output: assert instead of quiet return

4 years agoaction: expand shell variables before execvp()
Johan Malm [Wed, 30 Jun 2021 18:56:31 +0000 (19:56 +0100)]
action: expand shell variables before execvp()

Expanding shell variables, including tilde, enables the following type
of keybind:

<keyboard>
    <keybind key="XF86AudioMute">
      <action name="Execute">
        <command>bash ~/mute-script.sh</command>
      </action>
    </keybind>
</keyboard>

Fixes issue #32

4 years agomeson: bump wlroots dependency version number
kalekale [Tue, 29 Jun 2021 09:18:12 +0000 (15:03 +0545)]
meson: bump wlroots dependency version number

4 years agolabwc 0.3.0
Johan Malm [Mon, 28 Jun 2021 19:59:43 +0000 (20:59 +0100)]
labwc 0.3.0

4 years agorcxml: do not try to use theme Clearlooks-3.4
Johan Malm [Mon, 28 Jun 2021 19:48:55 +0000 (20:48 +0100)]
rcxml: do not try to use theme Clearlooks-3.4

If no theme is specified in rc.xml, just use built-in theme

4 years agoserver: remove wl_display_init_shm()
Johan Malm [Mon, 28 Jun 2021 19:42:41 +0000 (20:42 +0100)]
server: remove wl_display_init_shm()

This function is called by wlroots in wlr_renderer_init_wl_display(), so
no need to call it again. This stops Qt apps segfaulting when run with
"-platform wayland"

Fixes issue #34 item 2

4 years agocairo: Replace <cairo/cairo.h> by <cairo.h>
Johan Malm [Sat, 26 Jun 2021 17:28:27 +0000 (18:28 +0100)]
cairo: Replace <cairo/cairo.h> by <cairo.h>

See sway@d45623c2

4 years agomeson.build: fix style
Johan Malm [Sat, 26 Jun 2021 17:23:46 +0000 (18:23 +0100)]
meson.build: fix style

4 years agomeson: Use wrap files to manage dependencies
Ezequiel Garcia [Sat, 26 Jun 2021 09:41:03 +0000 (06:41 -0300)]
meson: Use wrap files to manage dependencies

This simplifies building as there's no need to manually
git clone subprojects anymore.

Building is now as simple as:

    meson build
    ninja -C build

In order to update the subprojects, meson provides:

    meson subprojects update

4 years agobuild: bump wlroots dependency to 0.15.0
Johan Malm [Sat, 26 Jun 2021 09:12:52 +0000 (10:12 +0100)]
build: bump wlroots dependency to 0.15.0

4 years agoxdg: chase swaywm/wlroots@9e58301df7f0
Jan Beich [Thu, 3 Jun 2021 18:06:49 +0000 (18:06 +0000)]
xdg: chase swaywm/wlroots@9e58301df7f0

src/xdg.c:269:48: error: no member named 'subsurfaces' in 'struct wlr_surface'
                wl_list_for_each(subsurface, &view->surface->subsurfaces,
                                              ~~~~~~~~~~~~~  ^
/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
        for (pos = wl_container_of((head)->next, pos, member);  \
                                    ^~~~
/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
        (__typeof__(sample))((char *)(ptr) -                            \
                                      ^~~

Based on https://github.com/swaywm/sway/commit/3162766eef14

4 years agolabwc-config(5): add followMouse and raiseOnFocus
Johan Malm [Fri, 28 May 2021 20:50:27 +0000 (21:50 +0100)]
labwc-config(5): add followMouse and raiseOnFocus

4 years agorcxml: fix typo
Johan Malm [Fri, 28 May 2021 20:31:02 +0000 (21:31 +0100)]
rcxml: fix typo

4 years agofocus: add basic follow mouse support
Mikhail Kshevetskiy [Wed, 26 May 2021 23:11:11 +0000 (02:11 +0300)]
focus: add basic follow mouse support

4 years agooutput: access texture width/height directly
Johan Malm [Mon, 17 May 2021 18:55:57 +0000 (19:55 +0100)]
output: access texture width/height directly

wlr_texture_get_size() is removed in wlroots@6369f709 so we have to
access width and height directly.

4 years agoREADME: update wlroots dependency + minor tweak to intro
Johan Malm [Sat, 17 Apr 2021 13:34:29 +0000 (14:34 +0100)]
README: update wlroots dependency + minor tweak to intro

4 years agomeson.build: require wlroots ['>=0.14.0', '<0.15.0']
Johan Malm [Sat, 17 Apr 2021 13:26:25 +0000 (14:26 +0100)]
meson.build: require wlroots ['>=0.14.0', '<0.15.0']

Also specify required version when using wlroots as subproject

4 years agomeson.build: require wayland-server >=1.19.0
Johan Malm [Sat, 17 Apr 2021 13:21:42 +0000 (14:21 +0100)]
meson.build: require wayland-server >=1.19.0

Fix typo - it previously said 0.19.0

4 years agomeson.build: update version
Johan Malm [Sat, 17 Apr 2021 13:18:52 +0000 (14:18 +0100)]
meson.build: update version

4 years agoUpdate NEWS.md
Johan Malm [Fri, 16 Apr 2021 19:52:26 +0000 (20:52 +0100)]
Update NEWS.md