diff --git a/README.md b/README.md index eca3fd3..d48e416 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,27 @@ -# wdisplay +# wdisplays -wdisplay is a graphical application for configuring displays in wlroots -compositors. It borrows some code from [kanshi]. +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://spdx.org/licenses/MIT.html) -## License +wdisplays is a graphical application for configuring displays in Wayland +compositors. It borrows some code from [kanshi]. It should work in any +compositor that implements the wlr-output-management-unstable-v1 protocol, such +as [sway]. -MIT +![Screenshot](wdisplays.png) + +# Building + +Build requirements are: + +- GTK+3 +- epoxy +- wayland-client + +```sh +meson build +ninja -C build +sudo ninja -C build install +``` [kanshi]: https://github.com/emersion/kanshi +[sway]: https://github.com/swaywm/sway diff --git a/meson.build b/meson.build index 2c3b214..1228364 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('wdisplay', 'c') +project('wdisplays', 'c') subdir('protocol') subdir('resources') diff --git a/resources/resources.xml b/resources/resources.xml index 185f865..1709c80 100644 --- a/resources/resources.xml +++ b/resources/resources.xml @@ -1,7 +1,7 @@ - wdisplay.ui + wdisplays.ui head.ui style.css diff --git a/resources/wdisplay.ui b/resources/wdisplays.ui similarity index 99% rename from resources/wdisplay.ui rename to resources/wdisplays.ui index 4399cbf..638eb4b 100644 --- a/resources/wdisplay.ui +++ b/resources/wdisplays.ui @@ -228,7 +228,7 @@ True False - wdisplay + wdisplays False True diff --git a/src/main.c b/src/main.c index ac3daa8..c71c6dc 100644 --- a/src/main.c +++ b/src/main.c @@ -24,7 +24,7 @@ #include #include -#include "wdisplay.h" +#include "wdisplays.h" #include "glviewport.h" __attribute__((noreturn)) void wd_fatal_error(int status, const char *message) { @@ -1148,7 +1148,7 @@ static void activate(GtkApplication* app, gpointer user_data) { state->grabbing_cursor = gdk_cursor_new_from_name(gdk_display, "grabbing"); state->move_cursor = gdk_cursor_new_from_name(gdk_display, "move"); - GtkBuilder *builder = gtk_builder_new_from_resource("/wdisplay.ui"); + GtkBuilder *builder = gtk_builder_new_from_resource("/wdisplays.ui"); GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "heads_window")); state->header_stack = GTK_WIDGET(gtk_builder_get_object(builder, "header_stack")); state->stack_switcher = GTK_WIDGET(gtk_builder_get_object(builder, "heads_stack_switcher")); diff --git a/src/meson.build b/src/meson.build index f2b31a2..56cbc7f 100644 --- a/src/meson.build +++ b/src/meson.build @@ -8,7 +8,7 @@ assert(gdk.get_pkgconfig_variable('targets').split().contains('wayland'), 'Wayla epoxy = dependency('epoxy') executable( - 'wdisplay', + 'wdisplays', [ 'main.c', 'outputs.c', diff --git a/src/outputs.c b/src/outputs.c index 1c32518..02aa7c7 100644 --- a/src/outputs.c +++ b/src/outputs.c @@ -39,7 +39,7 @@ #include #include -#include "wdisplay.h" +#include "wdisplays.h" #include "wlr-output-management-unstable-v1-client-protocol.h" #include "xdg-output-unstable-v1-client-protocol.h" @@ -644,5 +644,9 @@ void wd_state_destroy(struct wd_state *state) { wl_list_for_each_safe(output, output_tmp, &state->outputs, link) { wd_output_destroy(output); } + zwlr_screencopy_manager_v1_destroy(state->copy_manager); + zwlr_output_manager_v1_destroy(state->output_manager); + zxdg_output_manager_v1_destroy(state->xdg_output_manager); + wl_shm_destroy(state->shm); free(state); } diff --git a/src/render.c b/src/render.c index 7e64db7..dee1efb 100644 --- a/src/render.c +++ b/src/render.c @@ -21,7 +21,7 @@ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#include "wdisplay.h" +#include "wdisplays.h" #include #include diff --git a/src/wdisplay.h b/src/wdisplays.h similarity index 100% rename from src/wdisplay.h rename to src/wdisplays.h diff --git a/wdisplays.png b/wdisplays.png new file mode 100644 index 0000000..d4c484b Binary files /dev/null and b/wdisplays.png differ