summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorPhil Jones <philj56@gmail.com>2021-11-15 19:37:48 +0000
committerPhil Jones <philj56@gmail.com>2021-11-15 19:37:48 +0000
commit49c7405b6a88e56bb69e12189adb719927343e07 (patch)
tree72c7691e746563cc1396c5b555659c813572c12e /src/main.c
parent108df42e561b7e81ba09a8c278a562129e651bb6 (diff)
Multiple smaller changes.
- Remove the background image and libpng dependency - Add a prompt - Add xmalloc with out-of-memory handling - Add beginnings of a rofi-like run cache
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/main.c b/src/main.c
index ed865ed..95f16dc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -53,16 +53,6 @@ static void resize(struct tofi *tofi)
* Wayland wants "surface-local" width / height, so we have to divide
* the entry's pixel size by the scale factor.
*/
- //int32_t x = (
- // tofi->window.width
- // - entry_surface->width / tofi->window.scale
- // ) / 2;
- //int32_t y = (
- // tofi->window.height
- // - entry_surface->height / tofi->window.scale
- // ) / 2;
- //wl_subsurface_set_position(tofi->window.entry.wl_subsurface, x, y);
- //wl_surface_commit(tofi->window.entry.surface.wl_surface);
}
static void zwlr_layer_surface_configure(
@@ -603,7 +593,6 @@ int main(int argc, char *argv[])
/* Option parsing with getopt. */
struct option long_options[] = {
- {"background-image", required_argument, NULL, 'b'},
{"background-color", required_argument, NULL, 'B'},
{"border-width", required_argument, NULL, 'r'},
{"border-color", required_argument, NULL, 'R'},
@@ -626,11 +615,6 @@ int main(int argc, char *argv[])
int opt = getopt_long(argc, argv, short_options, long_options, NULL);
while (opt != -1) {
switch (opt) {
- case 'b':
- image_load(
- &tofi.window.background_image,
- optarg);
- break;
case 'B':
tofi.window.background_color =
hex_to_color(optarg);
@@ -772,11 +756,11 @@ int main(int argc, char *argv[])
tofi.zwlr_layer_shell,
tofi.window.surface.wl_surface,
tofi.wl_output,
- ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY,
+ ZWLR_LAYER_SHELL_V1_LAYER_TOP,
"launcher");
zwlr_layer_surface_v1_set_keyboard_interactivity(
tofi.window.zwlr_layer_surface,
- ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE
+ ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND
);
zwlr_layer_surface_v1_add_listener(
tofi.window.zwlr_layer_surface,
@@ -791,6 +775,10 @@ int main(int argc, char *argv[])
zwlr_layer_surface_v1_set_exclusive_zone(
tofi.window.zwlr_layer_surface,
-1);
+ zwlr_layer_surface_v1_set_size(
+ tofi.window.zwlr_layer_surface,
+ 800,
+ 400);
wl_surface_commit(tofi.window.surface.wl_surface);
/*
@@ -834,7 +822,7 @@ int main(int argc, char *argv[])
&tofi.window.entry.image);
surface_draw(
&tofi.window.surface,
- &tofi.window.background_color,
+ &tofi.window.entry.background_color,
&tofi.window.entry.image);
/*
@@ -855,7 +843,7 @@ int main(int argc, char *argv[])
if (tofi.window.surface.redraw) {
surface_draw(
&tofi.window.surface,
- &tofi.window.background_color,
+ &tofi.window.entry.background_color,
&tofi.window.entry.image);
tofi.window.surface.redraw = false;
}
@@ -876,10 +864,6 @@ int main(int argc, char *argv[])
*/
entry_destroy(&tofi.window.entry);
surface_destroy(&tofi.window.surface);
- if (tofi.window.background_image.buffer != NULL) {
- free(tofi.window.background_image.buffer);
- tofi.window.background_image.buffer = NULL;
- }
eglTerminate(tofi.window.surface.egl.display);
wl_surface_destroy(tofi.window.surface.wl_surface);
if (tofi.wl_keyboard != NULL) {