xaizek / vifm-pdcurses (License: mostly public domain) (since 2019-03-20)
PDCurses 3.4 with vifm-specific patches applied (a couple were upstreamed)
<root> / panel.h (83d4f2c6198ac8ca0b32a515b05e30f8299914a9) (1,406B) (mode 100644) [raw]
/*----------------------------------------------------------------------*
 *                         Panels for PDCurses                          *
 *----------------------------------------------------------------------*/

#ifndef __PDCURSES_PANEL_H__
#define __PDCURSES_PANEL_H__ 1

#include <curses.h>

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct panelobs
{
    struct panelobs *above;
    struct panel *pan;
} PANELOBS;

typedef struct panel
{
    WINDOW *win;
    int wstarty;
    int wendy;
    int wstartx;
    int wendx;
    struct panel *below;
    struct panel *above;
    const void *user;
    struct panelobs *obscure;
} PANEL;

PDCEX  int     bottom_panel(PANEL *pan);
PDCEX  int     del_panel(PANEL *pan);
PDCEX  int     hide_panel(PANEL *pan);
PDCEX  int     move_panel(PANEL *pan, int starty, int startx);
PDCEX  PANEL  *new_panel(WINDOW *win);
PDCEX  PANEL  *panel_above(const PANEL *pan);
PDCEX  PANEL  *panel_below(const PANEL *pan);
PDCEX  int     panel_hidden(const PANEL *pan);
PDCEX  const void *panel_userptr(const PANEL *pan);
PDCEX  WINDOW *panel_window(const PANEL *pan);
PDCEX  int     replace_panel(PANEL *pan, WINDOW *win);
PDCEX  int     set_panel_userptr(PANEL *pan, const void *uptr);
PDCEX  int     show_panel(PANEL *pan);
PDCEX  int     top_panel(PANEL *pan);
PDCEX  void    update_panels(void);

#ifdef __cplusplus
}
#endif

#endif /* __PDCURSES_PANEL_H__ */
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm-pdcurses

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm-pdcurses

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master