Skip to content
This repository was archived by the owner on May 22, 2019. It is now read-only.

Commit 18fe612

Browse files
committed
fix compiler errors
1 parent 7c03b65 commit 18fe612

7 files changed

+48
-30
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/ChangeLog
2+
/AUTHORS
13
### ArchLinuxPackages template
24
*.tar
35
*.tar.*

autogen.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ srcdir=`dirname $0`
55
test -z "$srcdir" && srcdir=.
66

77
PKG_NAME="lightdm-webkit2-greeter"
8-
REQUIRED_AUTOMAKE_VERSION=1.7
98

10-
(test -f $srcdir/configure.ac \
11-
&& test -d $srcdir/src) || {
9+
(test -f $srcdir/configure.ac && test -d $srcdir/src) || {
1210
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
1311
echo " top-level lightdm-webkit2-greeter directory"
1412
exit 1

configure.ac

+10-5
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ dnl Process this file with autoconf to produce a configure script.
33
AC_INIT(lightdm-webkit2-greeter, 0.2.3)
44
AC_SUBST(THEME_DIR)
55
AC_CONFIG_HEADER(config.h)
6+
AC_PREREQ([2.59])
67

78
LT_INIT()
89

@@ -17,17 +18,22 @@ dnl ###########################################################################
1718
dnl Dependencies
1819
dnl ###########################################################################
1920

20-
PKG_CHECK_MODULES(GREETER, [
21+
PKG_CHECK_MODULES([GREETER], [
2122
liblightdm-gobject-1
2223
gtk+-3.0
2324
webkit2gtk-4.0
2425
dbus-glib-1
2526
x11
2627
])
2728

28-
PKG_CHECK_MODULES(WEB_EXTENSION, [webkit2gtk-4.0 >= 2.8.0])
29-
AC_SUBST(WEB_EXTENSION_CFLAGS)
30-
AC_SUBST(WEB_EXTENSION_LIBS)
29+
dnl PKG_CHECK_MODULES(WEB_EXTENSION, [webkit2gtk-4.0 >= 2.8.0])
30+
dnl AC_SUBST(WEB_EXTENSION_CFLAGS)
31+
dnl AC_SUBST(WEB_EXTENSION_LIBS)
32+
33+
PKG_CHECK_MODULES([WEB_EXTENSION], [
34+
webkit2gtk-web-extension-4.0 >= 2.8.0])
35+
AC_SUBST([WEB_EXTENSION_CFLAGS])
36+
AC_SUBST([WEB_EXTENSION_LIBS])
3137

3238
dnl ###########################################################################
3339
dnl Configurable values
@@ -83,7 +89,6 @@ data/Makefile
8389
src/Makefile
8490
po/Makefile.in
8591
themes/Makefile
86-
themes/webkit/Makefile
8792
])
8893

8994
dnl ###########################################################################

src/Makefile.am

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ liblightdm_webkit2_greeter_ext_la_LIBADD = \
1515
$(WEB_EXTENSION_LIBS) \
1616
$(GREETER_LIBS)
1717

18+
liblightdm_webkit2_greeter_ext_LDADD = \
19+
$(WEB_EXTENSION_LIBS) \
20+
$(GREETER_LIBS)
21+
1822
liblightdm_webkit2_greeter_ext_la_LDFLAGS = -module -avoid-version -no-undefined
1923

2024
greeter_PROGRAMS = lightdm-webkit2-greeter
@@ -23,8 +27,6 @@ greeterdir = $(bindir)
2327
lightdm_webkit2_greeter_SOURCES = \
2428
lightdm-webkit2-greeter.c
2529

26-
myapp_CPPFLAGS =
27-
2830
lightdm_webkit2_greeter_CFLAGS = \
2931
$(GREETER_CFLAGS) \
3032
$(WARN_CFLAGS) \
@@ -35,6 +37,7 @@ lightdm_webkit2_greeter_CFLAGS = \
3537

3638
lightdm_webkit2_greeter_LDADD = \
3739
$(GREETER_LIBS) \
40+
$(WEB_EXTENSION_LIBS) \
3841
$(LIBX11_LIBS)
3942

4043
DISTCLEANFILES = \

src/lightdm-webkit2-greeter-ext.c

+13-8
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@
3535
#include <glib/gi18n.h>
3636

3737
#include <webkit2/webkit-web-extension.h>
38-
#include <webkitdom/WebKitDOMCustom.h>
38+
#define WEBKIT_DOM_USE_UNSTABLE_API
39+
#include <webkitdom/WebKitDOMDOMWindowUnstable.h>
40+
#include <webkitdom/webkitdom.h>
3941

4042
#include <JavaScriptCore/JavaScript.h>
4143
#include <lightdm.h>
@@ -512,7 +514,7 @@ get_lock_hint_cb(JSContextRef context,
512514
JSValueRef *exception) {
513515
LightDMGreeter *greeter = JSObjectGetPrivate(thisObject);
514516

515-
return JSValueMakeBoolean(lightdm_greeter_get_lock_hint(greeter));
517+
return JSValueMakeBoolean(context, lightdm_greeter_get_lock_hint(greeter));
516518
}
517519

518520

@@ -971,15 +973,15 @@ static const JSClassDefinition gettext_definition = {
971973
};
972974

973975

974-
static void
976+
/*static void
975977
web_page_created_callback(WebKitWebExtension *extension, WebKitWebPage *web_page, gpointer user_data) {
976-
/*@formatter:off*/
978+
977979
g_print("Page %" G_GUINT64_FORMAT "created for %s\n",
978980
webkit_web_page_get_id(web_page),
979981
webkit_web_page_get_uri(web_page)
980982
);
981-
/*@formatter:on*/
982-
}
983+
984+
}*/
983985

984986

985987
static void
@@ -991,7 +993,8 @@ window_object_cleared_callback(WebKitScriptWorld *world,
991993
JSGlobalContextRef jsContext;
992994
JSObjectRef globalObject;
993995
WebKitDOMDocument *dom_document;
994-
WebkitDOMDOMWindow *dom_window;
996+
WebKitDOMDOMWindow *dom_window;
997+
gchar *message = "LockHint";
995998

996999
page_id = webkit_web_page_get_id(web_page);
9971000

@@ -1026,7 +1029,9 @@ window_object_cleared_callback(WebKitScriptWorld *world,
10261029
dom_document = webkit_web_page_get_dom_document(web_page);
10271030
dom_window = webkit_dom_document_get_default_view(dom_document);
10281031

1029-
webkit_dom_dom_window_webkit_message_handlers_post_message(dom_window, 'Greeter', 'lock_hint_cb');
1032+
if (dom_window) {
1033+
webkit_dom_dom_window_webkit_message_handlers_post_message(dom_window, "GreeterBridge", message);
1034+
}
10301035
}
10311036

10321037
}

src/lightdm-webkit2-greeter.c

+13-11
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ static GtkWidget *window;
4848
static WebKitSettings *webkit_settings;
4949
static GdkDisplay *default_display;
5050

51+
/* Screensaver values */
52+
static int timeout, interval, prefer_blanking, allow_exposures;
53+
static gint config_timeout;
54+
5155

5256
static GdkFilterReturn
5357
wm_window_filter(GdkXEvent *gxevent, GdkEvent *event, gpointer data) {
@@ -116,13 +120,13 @@ context_menu_cb(WebKitWebView *view,
116120

117121

118122
static void
119-
lock_hint_cb(void) {
123+
greeter_bridge_lock_hint_cb(void) {
120124
// Make the greeter behave a bit more like a screensaver if used as un/lock-screen by blanking the screen.
121125
Display *display = gdk_x11_display_get_xdisplay(default_display);
122126
XGetScreenSaver(display, &timeout, &interval, &prefer_blanking, &allow_exposures);
123127
XForceScreenSaver(display, ScreenSaverActive);
124128
XSetScreenSaver(display,
125-
config_get_int(NULL, CONFIG_KEY_SCREENSAVER_TIMEOUT, 60),
129+
config_timeout,
126130
0,
127131
ScreenSaverActive,
128132
DefaultExposures);
@@ -133,14 +137,11 @@ static void
133137
message_received_cb(WebKitUserContentManager *manager,
134138
WebKitJavascriptResult *message,
135139
gpointer user_data) {
136-
char *message_str;
137-
138-
message_str = get_js_result_as_string(message);
139140

140141
/* TODO:
141142
* Abstract this by using JSON for exchanging messages so the handler can be used for more than one task/event.
142143
*/
143-
lock_hint_cb();
144+
greeter_bridge_lock_hint_cb();
144145

145146
}
146147

@@ -188,18 +189,19 @@ main(int argc, char **argv) {
188189
keyfile = g_key_file_new();
189190
g_key_file_load_from_file(keyfile, "/etc/lightdm/lightdm-webkit2-greeter.conf", G_KEY_FILE_NONE, NULL);
190191
theme = g_key_file_get_string(keyfile, "greeter", "webkit-theme", NULL);
192+
config_timeout = g_key_file_get_integer(keyfile, "greeter", "screensaver-timeout", NULL);
191193

192194
// Setup the main window
193195
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
194196
screen = gtk_window_get_screen(GTK_WINDOW(window));
195197
root_window = gdk_get_default_root_window();
196-
display = gdk_display_get_default();
198+
default_display = gdk_display_get_default();
197199

198200
gtk_window_set_decorated(GTK_WINDOW(window), FALSE);
199201
gdk_screen_get_monitor_geometry(screen, gdk_screen_get_primary_monitor(screen), &geometry);
200202
gtk_window_set_default_size(GTK_WINDOW(window), geometry.width, geometry.height);
201203
gtk_window_move(GTK_WINDOW(window), geometry.x, geometry.y);
202-
gdk_window_set_cursor(root_window, gdk_cursor_new_for_display(display, GDK_LEFT_PTR));
204+
gdk_window_set_cursor(root_window, gdk_cursor_new_for_display(default_display, GDK_LEFT_PTR));
203205

204206
// There is no window manager, so we need to implement some of its functionality
205207
gdk_window_set_events(root_window, gdk_window_get_events(root_window) | GDK_SUBSTRUCTURE_MASK);
@@ -211,15 +213,15 @@ main(int argc, char **argv) {
211213

212214
// Register and connect handler for messages sent from our web extension
213215
manager = webkit_user_content_manager_new();
214-
webkit_user_content_manager_register_script_message_handler(manager, "Greeter");
215-
g_signal_connect(manager, "script-message-received::Greeter", G_CALLBACK(message_received_cb), NULL);
216+
webkit_user_content_manager_register_script_message_handler(manager, "GreeterBridge");
217+
g_signal_connect(manager, "script-message-received::GreeterBridge", G_CALLBACK(message_received_cb), NULL);
216218

217219
// Create the web_view
218220
web_view = webkit_web_view_new_with_user_content_manager(manager);
219221

220222
// Set the web_view's settings.
221223
create_new_webkit_settings_object();
222-
webkit_web_view_set_settings(web_view, webkit_settings);
224+
webkit_web_view_set_settings(WEBKIT_WEB_VIEW(web_view), webkit_settings);
223225

224226
// The default background is white which causes a flash effect when the greeter starts. Make it black instead.
225227
gdk_rgba_parse(&bg_color, "#000000");

themes/Makefile.am

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
SUBDIRS = webkit
1+
EXTRA_DIST = antergos
2+
dist-hook:
3+
chmod -R u+w $(distdir)/antergos
4+
rm -rf $(distdir)/antergos/.git
25

36
DISTCLEANFILES = \
47
Makefile.in

0 commit comments

Comments
 (0)