aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.h2
-rw-r--r--plugins/style/style.c2
-rw-r--r--plugins/style/style.h2
-rw-r--r--plugins/style/style.js63
-rwxr-xr-xrosebin47896 -> 47896 bytes
-rw-r--r--rose.c10
6 files changed, 75 insertions, 4 deletions
diff --git a/config.h b/config.h
index cfaefc1..05fad90 100644
--- a/config.h
+++ b/config.h
@@ -21,7 +21,7 @@
#define ZOOM_VAL .1 /* Zooming value in zoomin/zoomout functions */
#define BG_COLOR "#FEFEFE" /* "FEFEFE", "#1E1E2E" */
#define DEBUG false
-#define MAX_NUM_TABS 10 // set to 0 or false if you want unlimited tabs, or look at the relevant rose.c code.
+#define MAX_NUM_TABS 8 // set to 0 or false if you want unlimited tabs, or look at the relevant rose.c code.
typedef enum {
goback,
diff --git a/plugins/style/style.c b/plugins/style/style.c
index a89bd6e..34f7f35 100644
--- a/plugins/style/style.c
+++ b/plugins/style/style.c
@@ -1,7 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#define STYLE_N 1781 + 1
+#define STYLE_N 3640 + 1
void read_style_js(char* string)
{
diff --git a/plugins/style/style.h b/plugins/style/style.h
index 1fe1a37..75dd3ee 100644
--- a/plugins/style/style.h
+++ b/plugins/style/style.h
@@ -1,7 +1,7 @@
#ifndef STYLE
#define STYLE
-#define STYLE_N 1781 + 1
+#define STYLE_N 3640 + 1
void read_style_js(char* string);
diff --git a/plugins/style/style.js b/plugins/style/style.js
index ed62991..cc98fa9 100644
--- a/plugins/style/style.js
+++ b/plugins/style/style.js
@@ -70,5 +70,66 @@ if(styles != null){
console.log('Style changed')
}
-document.body.style.visibility = "visible"
+// Replace default alert with new function
+// whose style can be changed!
+window.alert = function(message) {
+ // Check if the alert dialog already exists
+ var alertDiv = document.getElementById('customAlert');
+ if (!alertDiv) {
+ // Create the alert dialog
+ alertDiv = document.createElement('div');
+ alertDiv.id = 'customAlert';
+ alertDiv.className = 'custom-alert hidden';
+
+ var contentDiv = document.createElement('div');
+ contentDiv.className = 'custom-alert-content';
+
+ var alertMessage = document.createElement('p');
+ alertMessage.id = 'alertMessage';
+
+ var okButton = document.createElement('button');
+ okButton.id = 'alertOkButton';
+ okButton.textContent = 'OK';
+ okButton.onclick = function() {
+ alertDiv.classList.add('hidden');
+ };
+
+ contentDiv.appendChild(alertMessage);
+ contentDiv.appendChild(okButton);
+ alertDiv.appendChild(contentDiv);
+ document.body.appendChild(alertDiv);
+
+ // Inject CSS
+ var style = document.createElement('style');
+ style.innerHTML = `
+ .custom-alert {
+ position: fixed;
+ z-index: 999;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+ background-color: rgba(0,0,0,0.4);
+ }
+ .custom-alert-content {
+ background-color: #fefefe;
+ margin: 15% auto;
+ padding: 20px;
+ border: 1px solid #888;
+ width: 80%;
+ }
+ .hidden {
+ display: none;
+ }`;
+ document.head.appendChild(style);
+ }
+
+ // Show the alert dialog
+ document.getElementById('alertMessage').textContent = message;
+ alertDiv.classList.remove('hidden');
+}
+
+// alert("Hello world!")
+document.body.style.visibility = "visible"
diff --git a/rose b/rose
index 8a271d3..4649d3d 100755
--- a/rose
+++ b/rose
Binary files differ
diff --git a/rose.c b/rose.c
index 8d7ce42..f764f6c 100644
--- a/rose.c
+++ b/rose.c
@@ -235,6 +235,15 @@ void notebook_append(GtkNotebook* notebook, const char* uri)
gtk_widget_hide(GTK_WIDGET(bar));
webkit_web_view_set_background_color(view, &rgba);
load_uri(view, (uri) ? uri : HOME);
+
+ if (CUSTOM_STYLE_ENABLED) {
+ char* style_js = malloc(STYLE_N + 1);
+ read_style_js(style_js);
+ webkit_web_view_run_javascript(notebook_get_webview(notebook), style_js,
+ NULL, NULL, NULL);
+ free(style_js);
+ }
+
gtk_notebook_set_current_page(notebook, n);
gtk_notebook_set_tab_label_text(notebook, GTK_WIDGET(view), "-");
webkit_web_view_set_zoom_level(view, ZOOM);
@@ -329,6 +338,7 @@ int handle_key(func id, GtkNotebook* notebook)
case close_tab:
gtk_notebook_remove_page(notebook, gtk_notebook_get_current_page(notebook));
+ NUM_TABS-=1;
switch (gtk_notebook_get_n_pages(notebook)) {
case 0: