Files
lidm/include/ofield.h
javalsai 0b2d0bdf03 fixes: improve login environment handling (#114)
* chore(organization): allow nested header and c files

* feat: add shell login "middleware" & etc:
  * lidm now calls `bash` (or other shells, depends on PACKAGE cfg) in
  login mode as a session wrapper to source most env (can be disabled)
  * this fixes a lot of env problems with all `/etc/profile` and more

Extra:
* implemented a musl compatible version of `execvpe` and now lidm should
  search for PATH everywhere it needs to
* `search_path` now also checks if the found binary is properly
  executable
* lidm now uses `confstr` for a decent PATH default if none is found
* logs are unbuffered for cases where debug logs appear empty (exit
  without handlers moment)

* chore: one-time evaluate certain makefile vars

---------

Co-authored-by: grialion <48643945+grialion@users.noreply.github.com>
2026-02-07 17:12:03 +01:00

24 lines
648 B
C

#ifndef OFIELD_
#define OFIELD_
#include <stddef.h>
#include "efield.h"
// related vector is external, indexing at 1, 0 means empty and hence points to
// the editable_field
struct opts_field {
size_t opts;
size_t current_opt;
struct editable_field efield;
};
struct opts_field ofield_new(size_t opts);
void ofield_toedit(struct opts_field* self, char* init);
void ofield_kbd_type(struct opts_field* self, char* typed, char* empty_default);
bool ofield_opts_seek(struct opts_field* self, char seek);
bool ofield_seek(struct opts_field* self, char seek);
uint8_t ofield_display_cursor_col(struct opts_field* self, uint8_t maxlen);
#endif