|
|
|
@ -1,63 +1,85 @@
|
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> |
|
|
|
|
<html> |
|
|
|
|
<head> |
|
|
|
|
<style type="text/css"> |
|
|
|
|
td |
|
|
|
|
{ |
|
|
|
|
font-size: 24px; |
|
|
|
|
vertical-align: middle; |
|
|
|
|
<style> |
|
|
|
|
html, body { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
overflow: hidden; |
|
|
|
|
margin: 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
input |
|
|
|
|
{ |
|
|
|
|
body { |
|
|
|
|
background: linear-gradient(white, SlateGray); |
|
|
|
|
font-size: 24px; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
html |
|
|
|
|
{ |
|
|
|
|
.container { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
display: -webkit-flex; |
|
|
|
|
display: flex; |
|
|
|
|
-webkit-flex-direction: column; |
|
|
|
|
flex-direction: column; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
body |
|
|
|
|
{ |
|
|
|
|
background: linear-gradient(white, SlateGray); |
|
|
|
|
.topBox, .inputBox, .messageBox { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 33.33%; |
|
|
|
|
text-align: center; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.topBox |
|
|
|
|
{ |
|
|
|
|
height: 490px; |
|
|
|
|
.inputBox { |
|
|
|
|
position: relative; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.inputBox |
|
|
|
|
{ |
|
|
|
|
width: 100%; |
|
|
|
|
.wrapper { |
|
|
|
|
height: 85px; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
right: 0; |
|
|
|
|
top: 0; |
|
|
|
|
bottom: 0; |
|
|
|
|
margin: auto; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.messageBox |
|
|
|
|
{ |
|
|
|
|
font-size: 24px; |
|
|
|
|
width: 60%; |
|
|
|
|
margin-left: auto; |
|
|
|
|
margin-right: auto; |
|
|
|
|
display: block; |
|
|
|
|
.topBox { |
|
|
|
|
text-align: right; |
|
|
|
|
padding: 15px; |
|
|
|
|
box-sizing: border-box; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.messageBox { |
|
|
|
|
text-align: center; |
|
|
|
|
visibility: hidden; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
</head> |
|
|
|
|
|
|
|
|
|
<script type="text/javascript"> |
|
|
|
|
|
|
|
|
|
<body> |
|
|
|
|
<div class="container"> |
|
|
|
|
<div class="topBox"> |
|
|
|
|
<img onclick="javascript:lightdm.shutdown();" src="power_button.png"/> |
|
|
|
|
</div> |
|
|
|
|
<div class="inputBox"> |
|
|
|
|
<div class="wrapper"> |
|
|
|
|
<div id="prompt"></div> |
|
|
|
|
<form action="javascript: handle_input()"> |
|
|
|
|
<input id="entry" /> |
|
|
|
|
</form> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="messageBox" id="messages"></div> |
|
|
|
|
</div> |
|
|
|
|
<script> |
|
|
|
|
/*********************************************************************/ |
|
|
|
|
/* Callbacks for lightdm-webkit-greeter */ |
|
|
|
|
/*********************************************************************/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* show_prompt callback. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function show_prompt(text, type) |
|
|
|
|
{ |
|
|
|
|
function show_prompt(text, type) { |
|
|
|
|
// type is either "text" or "password" |
|
|
|
|
prompt = document.getElementById("prompt"); |
|
|
|
|
prompt.innerHTML = text; |
|
|
|
@ -67,12 +89,10 @@
|
|
|
|
|
entry.focus(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* show_message callback. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function show_message(text, type) |
|
|
|
|
{ |
|
|
|
|
function show_message(text, type) { |
|
|
|
|
if (text.length == 0) |
|
|
|
|
return; |
|
|
|
|
messages = document.getElementById("messages"); |
|
|
|
@ -85,12 +105,10 @@
|
|
|
|
|
messages.innerHTML = messages.innerHTML + text; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* authentication_complete callback. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function authentication_complete() |
|
|
|
|
{ |
|
|
|
|
function authentication_complete() { |
|
|
|
|
if (lightdm.is_authenticated) { |
|
|
|
|
lightdm.start_session_sync(); // Start default session |
|
|
|
|
} else { |
|
|
|
@ -99,12 +117,10 @@
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* autologin_timer_expired callback. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function autologin_timer_expired(username) |
|
|
|
|
{ |
|
|
|
|
function autologin_timer_expired(username) { |
|
|
|
|
/* Stub. Does nothing. */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -112,53 +128,33 @@
|
|
|
|
|
/* Functions local to this greeter */ |
|
|
|
|
/*********************************************************************/ |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* clear_messages |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function clear_messages() |
|
|
|
|
{ |
|
|
|
|
function clear_messages() { |
|
|
|
|
messages = document.getElementById("messages"); |
|
|
|
|
messages.innerHTML = ""; |
|
|
|
|
messages.style.visibility = "hidden"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* Kickoff the authentication process |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function start_authentication() |
|
|
|
|
{ |
|
|
|
|
function start_authentication() { |
|
|
|
|
clear_messages(); |
|
|
|
|
lightdm.authenticate(); // start with null userid, have pam prompt for userid. |
|
|
|
|
lightdm.start_authentication(); // start with null userid, have pam prompt for userid. |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
/** |
|
|
|
|
* handle the input from the entry field. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
function handle_input() |
|
|
|
|
{ |
|
|
|
|
function handle_input() { |
|
|
|
|
entry = document.getElementById("entry"); |
|
|
|
|
lightdm.respond(entry.value); |
|
|
|
|
} |
|
|
|
|
</script> |
|
|
|
|
</head> |
|
|
|
|
|
|
|
|
|
<body> |
|
|
|
|
<img style="float: right;" onclick="javascript:lightdm.shutdown();" src="power_button.png" /> |
|
|
|
|
<div class="topBox"></div> |
|
|
|
|
<div class="inputBox"> |
|
|
|
|
<table id="input_table" width="100%"> |
|
|
|
|
<tr> |
|
|
|
|
<td id="prompt" width="45%" align="right"></td> |
|
|
|
|
<td width="55%"><form action="javascript: handle_input()"><input id="entry"></form></td> |
|
|
|
|
</tr> |
|
|
|
|
</table> |
|
|
|
|
</div> |
|
|
|
|
<div class="messageBox" id="messages"></div> |
|
|
|
|
|
|
|
|
|
<script type="text/javascript"> |
|
|
|
|
<script src="../antergos/js/mock.js"></script> |
|
|
|
|
<script> |
|
|
|
|
start_authentication(); |
|
|
|
|
</script> |
|
|
|
|
</body> |
|
|
|
|