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

Commit 75d70de

Browse files
committed
code formatting cleanup. bump version to 2.0.0. update NEWS file. update theme submodule ref.
1 parent dbe18f5 commit 75d70de

File tree

6 files changed

+97
-50
lines changed

6 files changed

+97
-50
lines changed

NEWS

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
Overview of changes in lightdm-webkit-greeter 0.3.0
2-
1+
Overview of changes in lightdm-webkit2-greeter 2.0.0
2+
3+
* Version scheme updated for both the webkit1 and webkit2 greeters as follows:
4+
- MAJOR.MINOR.UNIQUE_FIXES
5+
* MAJOR: Denotes a major release. Shared by legacy webkit1 and webkit2 greeters.
6+
* MINOR: Denotes small changes/fixes. Also shared by webkit 1 and webkit2 greeters.
7+
* UNIQUE_FIXES: Denotes fixes unique to either the legacy webkit1 or webkit2 greeters.
8+
* Legacy Webkit1 greeter development is officially in maintenance-only mode (bug fixes only).
9+
* Webkit2 greeter supersedes the Webkit1 greeter and is the focus of all new development.
310
* Completed API including the guest and auto-login functions.
411
* API is now completely in-line with LightDM API.
512
* Several functional code improvements.
@@ -11,23 +18,23 @@ Overview of changes in lightdm-webkit-greeter 0.3.0
1118
- Theme's script was completely rewritten in ES6.
1219
- Use babel to compile ES6->ES5 until webkit catches up.
1320

14-
Overview of changes in lightdm-webkit-greeter 0.2.3
21+
Overview of changes in lightdm-webkit2-greeter 0.2.3
1522

1623
* Add support for getting the lock_hint from lightdm.
1724
* Default webkit theme is now antergos.
1825
* Code formatting cleanup
1926

20-
Overview of changes in lightdm-webkit-greeter 0.2.1
27+
Overview of changes in lightdm-webkit2-greeter 0.2.1
2128

2229
* Handle tasks that a WM would normally handle.
2330
* Code clean-up
2431

25-
Overview of changes in lightdm-webkit-greeter 0.2.0
32+
Overview of changes in lightdm-webkit2-greeter 0.2.0
2633

2734
* Add missing lightdm.set_language function
2835
* Fix compile warnings
2936

30-
Overview of changes in lightdm-webkit-greeter 0.1.3
37+
Overview of changes in lightdm-webkit2-greeter 0.1.3
3138

3239
* Port from webkitgtk -> webkit2gtk
3340
* Use GTK+ 3.0

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
dnl Process this file with autoconf to produce a configure script.
22

3-
AC_INIT(lightdm-webkit2-greeter, 0.3.0)
3+
AC_INIT(lightdm-webkit2-greeter, 2.0.0)
44
AC_SUBST(THEME_DIR)
55
AC_CONFIG_HEADER(config.h)
66
AC_PREREQ([2.59])

man/lightdm-webkit2-greeter.1

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
.TH "lightdm-webkit2-greeter" "1" "2016.01.09"
1+
.TH "lightdm-webkit2-greeter" "1" "2016.01.10"
22
.nh
33
.ad l
44
.SH "NAME"
5-
lightdm-webkit2-greeter \- LightDM greeter that uses webkit2 for theming via HTML/JavaScript\&.
5+
lightdm-webkit2-greeter
66
.SH "SYNOPSIS"
7-
.HP \w'\fBlightdm-webkit2-greeter\fR\ 'u
8-
\fBlightdm-webkit2-greeter\fR
7+
.PP
8+
LightDM greeter that uses webkit2 for theming via HTML/JavaScript\&.
9+
.PP
910
.SH "DESCRIPTION"
1011
.PP
1112
lightdm-webkit2-greeter is a LightDM greeter that uses webkit2 for theming\&. Themes can be written
@@ -16,7 +17,7 @@ Please note that all properties and functions which are marked as "deprecated" a
1617
only available for backwards compatibility and will be removed in a future version of
1718
lightdm-webkit2-greeter\&. Theme authors should not use any deprecated properties or
1819
functions in new works and should update any existing works which make use of
19-
deprecated properties and/or functions\&.
20+
deprecated properties and/or functions to ensure continued proper functionality\&.
2021
.PP
2122
The following functions \fBmust\fR be provided by the greeter theme and callable on the global "window" object\&.
2223
.PP

src/lightdm-webkit2-greeter-ext.c

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright © 2014-2016 Antergos Developers <dev@antergos.com>
55
*
6-
* Contributed Code:
6+
* Includes Code Contributed By:
77
* Copyright © 2016 Scott Balneaves <sbalneav@ltsp.org>
88
*
99
* Based on code from lightdm-webkit-greeter:
@@ -29,7 +29,6 @@
2929
*
3030
* You should have received a copy of the GNU General Public License
3131
* along with lightdm-webkit2-greeter; If not, see <http://www.gnu.org/licenses/>.
32-
*
3332
*/
3433

3534
#include <stdlib.h>
@@ -47,11 +46,11 @@ G_MODULE_EXPORT void webkit_web_extension_initialize(WebKitWebExtension *extensi
4746

4847
guint64 page_id = -1;
4948

50-
#define USER ((LightDMUser *) JSObjectGetPrivate (thisObject))
51-
#define LANGUAGE ((LightDMLanguage *)JSObjectGetPrivate (thisObject))
52-
#define LAYOUT ((LightDMLayout *) JSObjectGetPrivate (thisObject))
53-
#define SESSION ((LightDMSession *) JSObjectGetPrivate (thisObject))
54-
#define GREETER ((LightDMGreeter *) JSObjectGetPrivate (thisObject))
49+
#define USER ((LightDMUser *) JSObjectGetPrivate (thisObject))
50+
#define LAYOUT ((LightDMLayout *) JSObjectGetPrivate (thisObject))
51+
#define SESSION ((LightDMSession *) JSObjectGetPrivate (thisObject))
52+
#define GREETER ((LightDMGreeter *) JSObjectGetPrivate (thisObject))
53+
#define LANGUAGE ((LightDMLanguage *) JSObjectGetPrivate (thisObject))
5554

5655
static JSClassRef
5756
lightdm_greeter_class,
@@ -448,7 +447,8 @@ get_language_cb(JSContextRef context,
448447
JSObjectRef thisObject,
449448
JSStringRef propertyName,
450449
JSValueRef *exception) {
451-
return string_or_null(context, lightdm_language_get_name((LightDMLanguage *) lightdm_get_language()));
450+
return string_or_null(context,
451+
lightdm_language_get_name((LightDMLanguage *) lightdm_get_language()));
452452
}
453453

454454

@@ -1203,13 +1203,14 @@ window_object_cleared_callback(WebKitScriptWorld *world,
12031203
kJSPropertyAttributeNone,
12041204
NULL);
12051205

1206-
// If lightdm was started as a lock-screen, send signal to our UI process.
1206+
/* If the greeter was started as a lock-screen, send message to our UI process. */
12071207
if (lightdm_greeter_get_lock_hint(greeter)) {
12081208
dom_document = webkit_web_page_get_dom_document(web_page);
12091209
dom_window = webkit_dom_document_get_default_view(dom_document);
12101210

12111211
if (dom_window) {
1212-
webkit_dom_dom_window_webkit_message_handlers_post_message(dom_window, "GreeterBridge", message);
1212+
webkit_dom_dom_window_webkit_message_handlers_post_message(dom_window,
1213+
"GreeterBridge", message);
12131214
}
12141215
}
12151216

@@ -1342,15 +1343,23 @@ G_MODULE_EXPORT void
13421343
webkit_web_extension_initialize(WebKitWebExtension *extension) {
13431344
LightDMGreeter *greeter = lightdm_greeter_new();
13441345

1345-
g_signal_connect(G_OBJECT(greeter), "authentication-complete", G_CALLBACK(authentication_complete_cb), extension);
1346-
g_signal_connect(G_OBJECT(greeter), "show-prompt", G_CALLBACK(show_prompt_cb), extension);
1347-
g_signal_connect(G_OBJECT(greeter), "show-message", G_CALLBACK(show_message_cb), extension);
1348-
g_signal_connect(G_OBJECT(greeter), "autologin-timer-expired", G_CALLBACK(autologin_timer_expired_cb), extension);
1346+
g_signal_connect(G_OBJECT(greeter),
1347+
"authentication-complete",
1348+
G_CALLBACK(authentication_complete_cb),
1349+
extension);
1350+
1351+
g_signal_connect(G_OBJECT(greeter),
1352+
"autologin-timer-expired",
1353+
G_CALLBACK(autologin_timer_expired_cb),
1354+
extension);
13491355

13501356
g_signal_connect(webkit_script_world_get_default(),
13511357
"window-object-cleared",
13521358
G_CALLBACK(window_object_cleared_callback),
13531359
greeter);
13541360

1361+
g_signal_connect(G_OBJECT(greeter), "show-prompt", G_CALLBACK(show_prompt_cb), extension);
1362+
g_signal_connect(G_OBJECT(greeter), "show-message", G_CALLBACK(show_message_cb), extension);
1363+
13551364
lightdm_greeter_connect_sync(greeter, NULL);
13561365
}

src/lightdm-webkit2-greeter.c

Lines changed: 53 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
*
44
* Copyright © 2014-2016 Antergos Developers <dev@antergos.com>
55
*
6+
* Includes Code Contributed By:
7+
* Copyright © 2016 Scott Balneaves <sbalneav@ltsp.org>
8+
*
69
* Based on code from lightdm-webkit-greeter:
710
* Copyright © 2010-2015 Robert Ancell <robert.ancell@canonical.com>
811
*
@@ -122,21 +125,31 @@ context_menu_cb(WebKitWebView *view,
122125
}
123126

124127

128+
/**
129+
* Lock Hint enabled handler.
130+
*
131+
* Makes the greeter behave a bit more like a screensaver if it was launched as
132+
* a lock-screen by blanking the screen.
133+
*/
125134
static void
126-
greeter_bridge_lock_hint_cb(void) {
127-
// Make the greeter behave a bit more like a screensaver if used as [un]lock-screen by blanking the screen.
135+
lock_hint_enabled_handler(void) {
128136
Display *display = gdk_x11_display_get_xdisplay(default_display);
129137

130138
XGetScreenSaver(display, &timeout, &interval, &prefer_blanking, &allow_exposures);
131139
XForceScreenSaver(display, ScreenSaverActive);
132-
XSetScreenSaver(display,
133-
config_timeout,
134-
0,
135-
ScreenSaverActive,
136-
DefaultExposures);
140+
XSetScreenSaver(display, config_timeout, 0, ScreenSaverActive, DefaultExposures);
137141
}
138142

139143

144+
/**
145+
* Message received callback.
146+
*
147+
* Receives messages from our web extension process and calls appropriate handlers.
148+
*
149+
* @param: manager The WebKitUserContentManager instance that was created in #main.
150+
* @param: message The message sent from web extension process.
151+
* @param: user_data Data that is private to the current user.
152+
*/
140153
static void
141154
message_received_cb(WebKitUserContentManager *manager,
142155
WebKitJavascriptResult *message,
@@ -146,7 +159,7 @@ message_received_cb(WebKitUserContentManager *manager,
146159
* Abstract this by using JSON for exchanging messages so the handler can
147160
* be used for more than one task/event.
148161
*/
149-
greeter_bridge_lock_hint_cb();
162+
lock_hint_enabled_handler();
150163

151164
}
152165

@@ -192,13 +205,17 @@ main(int argc, char **argv) {
192205

193206
gtk_init(&argc, &argv);
194207

195-
// Apply greeter settings from conf file
208+
/* Apply greeter settings from config file */
196209
keyfile = g_key_file_new();
197-
g_key_file_load_from_file(keyfile, CONFIG_DIR "/lightdm-webkit2-greeter.conf", G_KEY_FILE_NONE, NULL);
210+
211+
g_key_file_load_from_file(keyfile,
212+
CONFIG_DIR "/lightdm-webkit2-greeter.conf",
213+
G_KEY_FILE_NONE, NULL);
214+
198215
theme = g_key_file_get_string(keyfile, "greeter", "webkit-theme", NULL);
199216
config_timeout = g_key_file_get_integer(keyfile, "greeter", "screensaver-timeout", NULL);
200217

201-
// Setup the main window
218+
/* Setup the main window */
202219
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
203220
screen = gtk_window_get_screen(GTK_WINDOW(window));
204221
root_window = gdk_get_default_root_window();
@@ -210,11 +227,13 @@ main(int argc, char **argv) {
210227
gtk_window_move(GTK_WINDOW(window), geometry.x, geometry.y);
211228
gdk_window_set_cursor(root_window, gdk_cursor_new_for_display(default_display, GDK_LEFT_PTR));
212229

213-
// There is no window manager, so we need to implement some of its functionality
230+
/* There is no window manager, so we need to implement some of its functionality */
214231
gdk_window_set_events(root_window, gdk_window_get_events(root_window) | GDK_SUBSTRUCTURE_MASK);
215232
gdk_window_add_filter(root_window, wm_window_filter, NULL);
216233

217-
// Setup CSS provider
234+
/* Setup CSS provider. We use CSS to set the window background to black instead
235+
* of default white so the screen doesnt flash during startup.
236+
*/
218237
css_provider = gtk_css_provider_new();
219238
gtk_css_provider_load_from_data(css_provider,
220239
lightdm_webkit2_greeter_css_application,
@@ -223,33 +242,44 @@ main(int argc, char **argv) {
223242
GTK_STYLE_PROVIDER(css_provider),
224243
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
225244

226-
// Register and connect handler for setting the web extensions directory so webkit can find our extension
245+
/* Register and connect handler that will set the web extensions directory
246+
* so webkit can find our extension.
247+
*/
227248
context = webkit_web_context_get_default();
228-
g_signal_connect(context, "initialize-web-extensions", G_CALLBACK(initialize_web_extensions_cb), NULL);
249+
g_signal_connect(context,
250+
"initialize-web-extensions",
251+
G_CALLBACK(initialize_web_extensions_cb), NULL);
229252

230-
// Register and connect handler for messages sent from our web extension
253+
/* Register and connect handler of any messages we send from our web extension process. */
231254
manager = webkit_user_content_manager_new();
232255
webkit_user_content_manager_register_script_message_handler(manager, "GreeterBridge");
233-
g_signal_connect(manager, "script-message-received::GreeterBridge", G_CALLBACK(message_received_cb), NULL);
256+
g_signal_connect(manager,
257+
"script-message-received::GreeterBridge",
258+
G_CALLBACK(message_received_cb), NULL);
234259

235-
// Create the web_view
260+
/* Create the web_view */
236261
web_view = webkit_web_view_new_with_user_content_manager(manager);
237262

238-
// Set the web_view's settings.
263+
/* Set the web_view's settings. */
239264
create_new_webkit_settings_object();
240265
webkit_web_view_set_settings(WEBKIT_WEB_VIEW(web_view), webkit_settings);
241266

242-
// The default background is white which causes a flash effect when the greeter starts. Make it black instead.
267+
/* The default background is white which causes a flash effect when the greeter starts.
268+
* We make it black instead. This is for backwards compatibility with Gtk versions that
269+
* don't use the new CSS provider.
270+
*/
243271
gdk_rgba_parse(&bg_color, "#000000");
244272
webkit_web_view_set_background_color(WEBKIT_WEB_VIEW(web_view), gdk_rgba_copy(&bg_color));
245273

246-
// Disable the context (right-click) menu.
274+
/* Disable the context (right-click) menu. */
247275
g_signal_connect(web_view, "context-menu", G_CALLBACK(context_menu_cb), NULL);
248276

277+
/* There's no turning back now, let's go! */
249278
gtk_container_add(GTK_CONTAINER(window), web_view);
250-
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(web_view), g_strdup_printf("file://%s/%s/index.html", THEME_DIR, theme));
251-
gtk_widget_show_all(window);
279+
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(web_view),
280+
g_strdup_printf("file://%s/%s/index.html", THEME_DIR, theme));
252281

282+
gtk_widget_show_all(window);
253283

254284
gtk_main();
255285

0 commit comments

Comments
 (0)