diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 8bf5c23..624f5f4 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.9) -project(ublsettings-gtk3 VERSION 0) +project(libublsettings-gtk3 VERSION 0) include(GNUInstallDirs) find_package(PkgConfig REQUIRED) @@ -32,8 +32,8 @@ endif() # -fstack-clash-protection -fcf-protection") add_library(${PROJECT_NAME} SHARED - ublsettings-gtk3.c - ublsettings-gtk3.h) + ${PROJECT_NAME}.c + ${PROJECT_NAME}.h) set(LIBRARIES @@ -53,6 +53,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR}) set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${PROJECT_NAME}.h) +set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/source/ublsettings-gtk3.c b/source/libublsettings-gtk3.c similarity index 99% rename from source/ublsettings-gtk3.c rename to source/libublsettings-gtk3.c index 7aacb74..a742576 100644 --- a/source/ublsettings-gtk3.c +++ b/source/libublsettings-gtk3.c @@ -1,9 +1,11 @@ -#include "ublsettings-gtk3.h" +#include "libublsettings-gtk3.h" #ifdef __GTK_H__ static render_data render; +#ifndef VTE_DISABLE + static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data) { if (!terminal) return; @@ -98,7 +100,7 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *end vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(terminal), TRUE); gtk_widget_show_all(terminal); } - +#endif // Window config functions #define check_window_config_setup if(__yon_window_config_target_window) @@ -822,6 +824,8 @@ void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWi } } +#ifndef WEBKIT_DISABLE + void yon_ubl_browser_window_open(char *link, char *browser_window_name){ GtkWidget *browser=gtk_window_new(GTK_WINDOW_TOPLEVEL); GtkWidget *web_place=gtk_box_new(GTK_ORIENTATION_VERTICAL,0); @@ -838,4 +842,14 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name){ gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0); gtk_widget_show_all(browser); } +#else + +void yon_ubl_browser_window_open(char *link, char *browser_window_name){ + char *user=getenv("SUDO_USER"); + if (!user) + user=getlogin(); + char *command=yon_char_unite("sudo -u ",user," xdg-open ", link,NULL); + yon_launch_app(command); +} +#endif #endif \ No newline at end of file diff --git a/source/ublsettings-gtk3.h b/source/libublsettings-gtk3.h similarity index 96% rename from source/ublsettings-gtk3.h rename to source/libublsettings-gtk3.h index 67a93d5..5356bf6 100644 --- a/source/ublsettings-gtk3.h +++ b/source/libublsettings-gtk3.h @@ -3,12 +3,12 @@ #include #include #include -#include -#include -#include +#include #ifdef __GTK_H__ +#ifndef VTE_DISABLE +#include /** * void yon_terminal_integrated_launch(GtkWidget *place_to_show, void *endwork_function, void* endwork_function_argument) * [EN] @@ -34,6 +34,7 @@ void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, voi */ void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument); +#endif /**YON_TYPE * [EN] * @@ -383,6 +384,9 @@ void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidg */ void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id); +#ifndef WEBKIT_DISABLE +#include + /**yon_ubl_browser_window_open(char *link, char *browser_window_name) * [EN] * Launches integrated browser window, named [browser_window_name] at header with [link]. @@ -390,5 +394,17 @@ void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWi * Открывает встроенный браузер с именем [browser_window_name] и показываемой страницей по ссылке [link] */ void yon_ubl_browser_window_open(char *link, char *browser_window_name); +#else + +/**yon_ubl_browser_window_open(char *link, char *browser_window_name) + * [EN] + * Launches browser with [link]. + * [browser_window_name] is't used. It's needed for compatibility with webkit version of that function. + * [RU] + * Открывает браузер со страницей по ссылке [link] + * [browser_window_name] не используется. Нужна для совместимости с webkit версией этой функции. +*/ +void yon_ubl_browser_window_open(char *link, char *browser_window_name); +#endif #endif #endif \ No newline at end of file