awesome/tests
Emmanuel Lepage Vallee f8f5e2c69b grid: Add border support.
This is long overdue. A bit of historical context. The grid API
is losely somewhat based on the old `radical` module, but was
heavily improved by @getzze. That version had row_span and col_span.

This made the way the previous implementation coded the border
incompatible. I spent some time back then trying to bolt it back on,
but the complexity is quite high and never made it work right.

This commit goes in another direction. Rather than draw the border,
it creates a mask where the border should *not* be, then bucket fill
the widget. This is the equivalent of CSS `border-collapse`.

It also support custom borders. This allows dashed lines and partial
borders.

The main use case will be to add border support to the calendar. It
was previously possible to partially do it using custom cell painters,
but was pretty hacky. Now that the calendar will deprecate the custom
painters in favor of `widget_template`s, a more robust alternative was
required.

The drawback of this commit is obviously the added complexity to the
most complex layout. This is why it adds many tests to cover the various
corner cases.
2023-12-31 00:57:07 -08:00
..
examples grid: Add border support. 2023-12-31 00:57:07 -08:00
themes cmake: pass DO_COVERAGE=1 in env for tests/run.sh (#2575) 2019-01-11 17:04:23 +01:00
_client.lua tests: Force GTK3 for the client test. 2021-10-31 13:37:33 -07:00
_multi_screen.lua textbox: Rename `align` to `halign`. 2022-09-06 16:11:04 -07:00
_runner.lua Remove all usage of the now deprecated `awful.rules`. 2020-01-19 02:59:10 -05:00
_wibox_helper.lua tests: Stop using the legacy layoutbox constructor. 2019-10-05 22:57:05 -04:00
run.sh feat(github_actions): Revert HOME back to /dev/null 2021-05-08 22:45:29 +02:00
test-awesomerc.lua convert hotkeys_popup to awful.popup instead of wibox 2020-03-19 10:51:51 -05:00
test-awful-client.lua Remove all usage of the now deprecated `awful.rules`. 2020-01-19 02:59:10 -05:00
test-awful-layout.lua Re-arrange the magnifier layout on focus changes 2017-06-09 10:13:14 +02:00
test-awful-mouse.lua tests: Regression test for #3352 2021-05-30 23:56:42 -07:00
test-awful-placement.lua awful: Add a wallpaper module. 2021-09-24 08:42:42 -07:00
test-awful-rules.lua Remove all usage of the now deprecated `awful.rules`. 2020-01-19 02:59:10 -05:00
test-awful-screen.lua tests: Test the screen name. 2019-09-30 00:49:40 -04:00
test-awful-tag.lua tests: Test clearing a tag. 2020-09-14 01:17:31 -07:00
test-awful-widget-button.lua tests: Test `widget:add_button()` 2019-10-06 03:50:56 -04:00
test-awful-widget-calendar_popup.lua tests: Test the calendar widget 2017-06-12 02:58:06 -04:00
test-awful-widget-only_on_screen.lua tests: Change only_on_screen to create fake screens "in sight". 2019-09-29 18:20:15 -04:00
test-awful-widget-watch.lua Make tests more reliable on "early errors" 2016-03-06 10:20:45 +01:00
test-benchmark.lua Add and use gears.timer.run_delayed_calls_now() 2019-02-15 17:04:19 +01:00
test-client-borders.lua tests: Test the client border color and width. 2021-10-27 20:08:15 -07:00
test-client-shape.lua tests: Add size changes to the `xeyes` test. 2021-10-29 17:35:44 -07:00
test-client-signals.lua Fix a regression that only property::x and property::width are emitted when all {x,y,width,height} properties are changed. (#3537) 2021-12-30 13:23:44 -08:00
test-client-swap.lua tests: fix indenting/style (#1303) 2016-12-27 21:39:08 +01:00
test-current-desktop.lua client: Update existing code to use `c.active`. 2020-01-11 14:43:56 -08:00
test-dbus-error.lua tests: fix indenting/style (#1303) 2016-12-27 21:39:08 +01:00
test-dpi.lua capi: Move from `.data` to `._private` for the property data. 2019-11-09 16:43:12 -05:00
test-drawable-bgimage.lua tests: fix indenting/style (#1303) 2016-12-27 21:39:08 +01:00
test-focus-bydirection.lua Add test case for focus-bydirection 2022-02-12 14:53:21 +01:00
test-focus.lua tests: Test client.active. 2020-01-11 15:43:15 -08:00
test-geometry.lua Relocate a client window as if it is undecorated when reparenting it back. It eliminates the position offset due to re-decorating when a client trys to restore its previous position. (#3253) 2022-02-02 22:59:01 +01:00
test-gravity.c test-gravity.c: Accept different roundings 2018-08-17 11:48:49 +02:00
test-gravity.lua tests: do not export build_dir (#2875) 2019-09-13 17:55:06 +02:00
test-input-binding.lua tests: Blind attempt at making a flacky test under luajit stable. 2021-10-31 13:37:33 -07:00
test-keyboard-layout-changes.lua tests: Test the awesome.modifiers 2019-01-21 01:08:48 -05:00
test-keycodes.lua Add a test for awesome.get_key_name() 2020-03-14 19:33:04 -04:00
test-keygrabber.lua keygrabber: Remove the hardcoded way to add keybindings. 2019-11-09 16:43:53 -05:00
test-leak-client.lua textbox: Rename `align` to `halign`. 2022-09-06 16:11:04 -07:00
test-leaks.lua Merge pull request #2991 from psychon/cleanup_tag_history 2020-02-13 00:31:04 +00:00
test-maximize.lua tests: Extend the test client to handle minimization. 2021-10-28 22:11:21 -07:00
test-menubar.lua test(menubar): enable the test back on lua 5.3 2021-05-28 00:39:43 +02:00
test-miss-handlers.lua tests: Test root.buttons 2019-10-05 18:06:51 -04:00
test-naughty-legacy.lua tests: Test `naughty.get_by_id` with invalid ids. 2021-10-05 13:06:26 -07:00
test-naughty-preset.lua tests: Test the notification presets. 2021-09-22 19:17:02 -07:00
test-naughty-screen.lua naughty: Fix a memory leak related to suspended notifications. 2021-09-22 19:17:02 -07:00
test-naughty-suspended.lua tests: Test naughty.notification.ignore_suspend 2021-10-14 14:04:40 -07:00
test-resize.lua tests: Test more of awful.mouse 2019-12-06 01:41:42 -05:00
test-screen-changes.lua notification: Rename text to message 2019-02-16 15:26:38 -05:00
test-screenshot.lua tests: Improve the awful.screenshot test coverage. 2022-11-13 17:35:32 -08:00
test-selection-getter.lua tests: Kill the test-selection-getter clients. 2021-10-27 20:08:15 -07:00
test-selection-transfer.lua Rename Lua executable envvar 2021-03-23 09:10:07 +01:00
test-selection-watcher.lua tests: Kill the test-selection-getter clients. 2021-10-27 20:08:15 -07:00
test-signal.lua tests: fix indenting/style (#1303) 2016-12-27 21:39:08 +01:00
test-spawn-snid.lua client: Rename the `manage` and `unmanage` signals. 2020-01-11 14:43:56 -08:00
test-spawn.lua test(screenshots, spawn): require exact major gtk/gdk versions (#3460) 2021-10-09 16:36:17 -07:00
test-struts.lua tests: Restructure the wibar test to work better on luajit. (#3487) 2021-10-28 12:24:37 -07:00
test-systray.c tests: Add a systray program. 2021-10-31 13:36:17 -07:00
test-systray.lua tests: Add a simple systray test. 2021-10-31 13:37:32 -07:00
test-tag-gap-single-client.lua Fix awful.tag.object.get_gap_single_client (#1190) 2016-10-26 01:43:45 +02:00
test-titlebar.lua tests: Emulate some clicks on the titlebars. 2021-10-29 17:35:44 -07:00
test-tooltip.lua Stabilize awful.tooltip code coverage (#1773) 2017-05-07 18:00:22 +02:00
test-urgent.lua Remove all usage of the now deprecated `awful.rules`. 2020-01-19 02:59:10 -05:00
test-use-after-gc.lua Improve behaviour of GC'd objects 2016-09-24 14:37:07 +02:00
test-wallpaper.lua tests: Remove a noisy print 2021-10-31 13:37:33 -07:00
test-wibox-shape.lua tests: Test the input_passthrough property 2017-11-27 00:22:11 -05:00