mirror of
https://github.com/webui-dev/webui.git
synced 2024-10-26 23:43:43 +03:00
Updating the PR
* The original code works. I'm just re-styling it to make the WebUI code look the same.
This commit is contained in:
parent
7c418a6ed2
commit
41b5ab3bd7
Binary file not shown.
Before Width: | Height: | Size: 105 KiB |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 105 KiB |
@ -1,44 +0,0 @@
|
||||
# WebUI Library 2.2.0
|
||||
# C99 Example
|
||||
# macOS - Clang
|
||||
|
||||
LIB=../../../../../build/macOS/Clang
|
||||
INCLUDE=../../../../../include
|
||||
SOURCE=../..
|
||||
|
||||
all: release
|
||||
|
||||
debug:
|
||||
# Build Lib
|
||||
@cd "$(LIB)" && $(MAKE) debug
|
||||
# Static with Debug info
|
||||
@echo "Build C99 Example (Static Debug)..."
|
||||
@clang -g -m64 -o main "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" -lwebui-2-static-x64 -lpthread -lm
|
||||
# Dynamic with Debug info
|
||||
@echo "Build C99 Example (Dynamic Debug)..."
|
||||
@clang -g -m64 -o main-dyn "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" "$(LIB)/webui-2-x64.dyn" -lpthread -lm
|
||||
# Clean
|
||||
@- rm -f *.o
|
||||
@- rm -rf *.dSYM
|
||||
@echo "Done."
|
||||
|
||||
release:
|
||||
# Build Lib
|
||||
@cd "$(LIB)" && $(MAKE)
|
||||
# Static Release
|
||||
@echo "Build C99 Example (Static Release)..."
|
||||
@clang -Os -m64 -o main "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" -lwebui-2-static-x64 -lpthread -lm
|
||||
# Dynamic Release
|
||||
@echo "Build C99 Example (Dynamic Release)..."
|
||||
@clang -m64 -o main-dyn "$(SOURCE)/main.c" -I "$(INCLUDE)" -L "$(LIB)" "$(LIB)/webui-2-x64.dyn" -lpthread -lm
|
||||
# Clean
|
||||
@- rm -f *.o
|
||||
@- rm -rf *.dSYM
|
||||
@echo "Done."
|
||||
|
||||
clean:
|
||||
- rm -f *.o
|
||||
- rm -f *.dyn
|
||||
- rm -f *.a
|
||||
- rm -rf *.dSYM
|
||||
|
@ -1,17 +0,0 @@
|
||||
// WebUI C - Minimal Example
|
||||
|
||||
#include "webui.h"
|
||||
|
||||
int main() {
|
||||
void* my_window = webui_new_window();
|
||||
webui_set_kiosk(my_window, true);
|
||||
webui_show(my_window, "<html>Hello from Kiosk Mode</html>");
|
||||
webui_wait();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow) {
|
||||
return main();
|
||||
}
|
||||
#endif
|
@ -148,7 +148,7 @@ WEBUI_EXPORT unsigned int webui_bind(void* window, const char* element, void (*f
|
||||
WEBUI_EXPORT bool webui_show(void* window, const char* content);
|
||||
// Same as webui_show(). But with a specific web browser.
|
||||
WEBUI_EXPORT bool webui_show_browser(void* window, const char* content, unsigned int browser);
|
||||
// Set kiosk mode (default is false)
|
||||
// Set the window in Kiosk mode (Full screen)
|
||||
WEBUI_EXPORT void webui_set_kiosk(void* window, bool status);
|
||||
// Wait until all opened windows get closed.
|
||||
WEBUI_EXPORT void webui_wait(void);
|
||||
|
@ -51,7 +51,7 @@ namespace webui {
|
||||
webui_close(window);
|
||||
}
|
||||
|
||||
// Enable/Disable Kiosk Mode (Default=False)
|
||||
// Set the window in Kiosk mode (Full screen)
|
||||
void set_kiosk(void* window, bool status) {
|
||||
webui_set_kiosk(window, status);
|
||||
}
|
||||
|
96
src/webui.c
96
src/webui.c
@ -443,8 +443,12 @@ void* webui_new_window(void) {
|
||||
return (void*)win;
|
||||
}
|
||||
|
||||
void webui_set_kiosk (void* win, bool kiosk){
|
||||
((_webui_window_t*)win)->kiosk = kiosk;
|
||||
void webui_set_kiosk(void* window, bool status) {
|
||||
|
||||
// Dereference
|
||||
_webui_window_t* win = (_webui_window_t*)window;
|
||||
|
||||
win->kiosk_mode = status;
|
||||
}
|
||||
|
||||
void webui_close(void* window) {
|
||||
@ -2914,11 +2918,12 @@ bool _webui_browser_start_chrome(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -2951,11 +2956,12 @@ bool _webui_browser_start_edge(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -2988,11 +2994,12 @@ bool _webui_browser_start_epic(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -3025,11 +3032,12 @@ bool _webui_browser_start_vivaldi(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -3062,11 +3070,12 @@ bool _webui_browser_start_brave(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -3099,11 +3108,12 @@ bool _webui_browser_start_firefox(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char full[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(full, "%s -P WebUI -purgecaches -new-window %s", win->browser_path, address);
|
||||
} else {
|
||||
sprintf(full, "%s -P WebUI -purgecaches -new-window -kiosk %s", win->browser_path, address);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "-kiosk");
|
||||
|
||||
sprintf(full, "%s -P WebUI -purgecaches -new-window %s %s", win->browser_path, address, kiosk_arg);
|
||||
|
||||
if(_webui_run_browser(win, full) == 0) {
|
||||
|
||||
@ -3133,11 +3143,12 @@ bool _webui_browser_start_yandex(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
@ -3170,11 +3181,12 @@ bool _webui_browser_start_chromium(_webui_window_t* win, const char* address) {
|
||||
return false;
|
||||
|
||||
char arg[1024];
|
||||
if(!win->kiosk){
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --app=", win->profile_path);
|
||||
} else {
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences --chrome-frame --kiosk ", win->profile_path);
|
||||
}
|
||||
|
||||
char kiosk_arg[16] = {0};
|
||||
if(win->kiosk_mode)
|
||||
sprintf(kiosk_arg, "--chrome-frame --kiosk");
|
||||
|
||||
sprintf(arg, " --user-data-dir=\"%s\" --no-first-run --disable-gpu --disable-software-rasterizer --no-proxy-server --safe-mode --disable-extensions --disable-background-mode --disable-plugins --disable-plugins-discovery --disable-translate --bwsi --disable-sync --disable-sync-preferences %s ", win->profile_path, kiosk_arg);
|
||||
|
||||
char full[1024];
|
||||
sprintf(full, "%s%s%s", win->browser_path, arg, address);
|
||||
|
@ -57,7 +57,7 @@ typedef struct _webui_window_t {
|
||||
unsigned int runtime;
|
||||
bool has_events;
|
||||
char* server_root_path;
|
||||
bool kiosk;
|
||||
bool kiosk_mode;
|
||||
webui_event_core_t* event_core[WEBUI_MAX_ARRAY];
|
||||
#ifdef _WIN32
|
||||
HANDLE server_thread;
|
||||
|
Loading…
Reference in New Issue
Block a user