system: add app_spawn
parent
2ec699948c
commit
5f6fbab4de
|
@ -2736,6 +2736,7 @@ int u_coefficients_sh;
|
|||
void tty_attach();
|
||||
void tty_detach();
|
||||
const char* app_exec(const char *command);
|
||||
void app_spawn(const char *command);
|
||||
int app_cores();
|
||||
int app_battery();
|
||||
const char* app_name();
|
||||
|
|
|
@ -17301,6 +17301,7 @@ API void tty_attach();
|
|||
API void tty_detach();
|
||||
|
||||
API const char* app_exec(const char *command); // returns ("%15d %s", retcode, output_last_line)
|
||||
API void app_spawn(const char *command);
|
||||
API int app_cores();
|
||||
API int app_battery(); /// return battery level [1..100]. also positive if charging (+), negative if discharging (-), and 0 if no battery is present.
|
||||
|
||||
|
@ -345560,6 +345561,13 @@ const char * app_exec( const char *cmd ) {
|
|||
return snprintf(output, 16, "%-15d", rc), buf[-1] = ' ', output;
|
||||
}
|
||||
|
||||
void app_spawn( const char *cmd ) {
|
||||
if( !cmd[0] ) return "0 ";
|
||||
cmd = file_normalize(cmd);
|
||||
|
||||
system(cmd);
|
||||
}
|
||||
|
||||
#if is(osx)
|
||||
#include <execinfo.h> // backtrace, backtrace_symbols
|
||||
#include <dlfcn.h> // dladdr, Dl_info
|
||||
|
@ -346959,6 +346967,7 @@ int ui_show(const char *panel_or_window_title, int enabled) {
|
|||
}
|
||||
int ui_dims(const char *panel_or_window_title, float width, float height) {
|
||||
nk_window_set_size(ui_ctx, panel_or_window_title, (struct nk_vec2){width, height});
|
||||
return 0;
|
||||
}
|
||||
vec2 ui_get_dims() {
|
||||
return (vec2){nk_window_get_width(ui_ctx), nk_window_get_height(ui_ctx)};
|
||||
|
|
|
@ -106,6 +106,13 @@ const char * app_exec( const char *cmd ) {
|
|||
return snprintf(output, 16, "%-15d", rc), buf[-1] = ' ', output;
|
||||
}
|
||||
|
||||
void app_spawn( const char *cmd ) {
|
||||
if( !cmd[0] ) return "0 ";
|
||||
cmd = file_normalize(cmd);
|
||||
|
||||
system(cmd);
|
||||
}
|
||||
|
||||
#if is(osx)
|
||||
#include <execinfo.h> // backtrace, backtrace_symbols
|
||||
#include <dlfcn.h> // dladdr, Dl_info
|
||||
|
|
|
@ -22,6 +22,7 @@ API void tty_attach();
|
|||
API void tty_detach();
|
||||
|
||||
API const char* app_exec(const char *command); // returns ("%15d %s", retcode, output_last_line)
|
||||
API void app_spawn(const char *command);
|
||||
API int app_cores();
|
||||
API int app_battery(); /// return battery level [1..100]. also positive if charging (+), negative if discharging (-), and 0 if no battery is present.
|
||||
|
||||
|
|
|
@ -436,6 +436,7 @@ int ui_show(const char *panel_or_window_title, int enabled) {
|
|||
}
|
||||
int ui_dims(const char *panel_or_window_title, float width, float height) {
|
||||
nk_window_set_size(ui_ctx, panel_or_window_title, (struct nk_vec2){width, height});
|
||||
return 0;
|
||||
}
|
||||
vec2 ui_get_dims() {
|
||||
return (vec2){nk_window_get_width(ui_ctx), nk_window_get_height(ui_ctx)};
|
||||
|
|
|
@ -16256,6 +16256,13 @@ const char * app_exec( const char *cmd ) {
|
|||
return snprintf(output, 16, "%-15d", rc), buf[-1] = ' ', output;
|
||||
}
|
||||
|
||||
void app_spawn( const char *cmd ) {
|
||||
if( !cmd[0] ) return "0 ";
|
||||
cmd = file_normalize(cmd);
|
||||
|
||||
system(cmd);
|
||||
}
|
||||
|
||||
#if is(osx)
|
||||
#include <execinfo.h> // backtrace, backtrace_symbols
|
||||
#include <dlfcn.h> // dladdr, Dl_info
|
||||
|
@ -17655,6 +17662,7 @@ int ui_show(const char *panel_or_window_title, int enabled) {
|
|||
}
|
||||
int ui_dims(const char *panel_or_window_title, float width, float height) {
|
||||
nk_window_set_size(ui_ctx, panel_or_window_title, (struct nk_vec2){width, height});
|
||||
return 0;
|
||||
}
|
||||
vec2 ui_get_dims() {
|
||||
return (vec2){nk_window_get_width(ui_ctx), nk_window_get_height(ui_ctx)};
|
||||
|
|
|
@ -3384,6 +3384,7 @@ API void tty_attach();
|
|||
API void tty_detach();
|
||||
|
||||
API const char* app_exec(const char *command); // returns ("%15d %s", retcode, output_last_line)
|
||||
API void app_spawn(const char *command);
|
||||
API int app_cores();
|
||||
API int app_battery(); /// return battery level [1..100]. also positive if charging (+), negative if discharging (-), and 0 if no battery is present.
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ void register_extensions() {
|
|||
}
|
||||
|
||||
void edit_asset(char *fname) {
|
||||
app_exec(va("%s %s", ifdef(win32, "start", ifdef(osx, "open", "xdg-open")), fname));
|
||||
app_spawn(va("%s \"\" \"%s\"", ifdef(win32, "start", ifdef(osx, "open", "xdg-open")), fname));
|
||||
}
|
||||
|
||||
void load_asset(const char *fname) {
|
||||
|
@ -81,22 +81,21 @@ int main() {
|
|||
load_editors();
|
||||
register_extensions();
|
||||
|
||||
#if 1
|
||||
#if 0
|
||||
load_asset("demos/art/shadertoys/!default.fs");
|
||||
load_asset("demos/art/fx/fxDithering.fs");
|
||||
|
||||
#endif
|
||||
|
||||
while( window_swap() && !input(KEY_ESC) ) {
|
||||
static int wb_enabled = 1;
|
||||
if (ui_window("Workbench", &wb_enabled)) {
|
||||
if (ui_panel("Workbench", PANEL_OPEN)) {
|
||||
static const char *file;
|
||||
static bool show_browser = 1;
|
||||
if( ui_browse(&file, &show_browser) ) {
|
||||
load_asset(file);
|
||||
show_browser = 1;
|
||||
}
|
||||
ui_window_end();
|
||||
ui_panel_end();
|
||||
}
|
||||
|
||||
for (int i=0; i<array_count(assets); i++) {
|
||||
|
|
Loading…
Reference in New Issue