You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
3.3 KiB
161 lines
3.3 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> |
|
<html> |
|
<head> |
|
<style> |
|
html, body { |
|
width: 100%; |
|
height: 100%; |
|
overflow: hidden; |
|
margin: 0; |
|
} |
|
|
|
body { |
|
background: linear-gradient(white, SlateGray); |
|
font-size: 24px; |
|
} |
|
|
|
.container { |
|
width: 100%; |
|
height: 100%; |
|
display: -webkit-flex; |
|
display: flex; |
|
-webkit-flex-direction: column; |
|
flex-direction: column; |
|
} |
|
|
|
.topBox, .inputBox, .messageBox { |
|
width: 100%; |
|
height: 33.33%; |
|
text-align: center; |
|
} |
|
|
|
.inputBox { |
|
position: relative; |
|
} |
|
|
|
.wrapper { |
|
height: 85px; |
|
position: absolute; |
|
left: 0; |
|
right: 0; |
|
top: 0; |
|
bottom: 0; |
|
margin: auto; |
|
} |
|
|
|
.topBox { |
|
text-align: right; |
|
padding: 15px; |
|
box-sizing: border-box; |
|
} |
|
|
|
.messageBox { |
|
text-align: center; |
|
visibility: hidden; |
|
} |
|
</style> |
|
</head> |
|
|
|
<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) { |
|
// type is either "text" or "password" |
|
prompt = document.getElementById("prompt"); |
|
prompt.innerHTML = text; |
|
entry = document.getElementById("entry"); |
|
entry.value = ""; // clear entry |
|
entry.type = type; |
|
entry.focus(); |
|
} |
|
|
|
/** |
|
* show_message callback. |
|
*/ |
|
function show_message(text, type) { |
|
if (text.length == 0) |
|
return; |
|
messages = document.getElementById("messages"); |
|
messages.style.visibility = "visible"; |
|
// type is either "info" or "error" |
|
if (type == "error") { |
|
text = "<font color=\"red\">" + text + "</font>"; |
|
} |
|
text = text + "<br>"; |
|
messages.innerHTML = messages.innerHTML + text; |
|
} |
|
|
|
/** |
|
* authentication_complete callback. |
|
*/ |
|
function authentication_complete() { |
|
if (lightdm.is_authenticated) { |
|
lightdm.start_session_sync(); // Start default session |
|
} else { |
|
show_message("Authentication Failed", "error"); |
|
setTimeout(start_authentication, 3000); |
|
} |
|
} |
|
|
|
/** |
|
* autologin_timer_expired callback. |
|
*/ |
|
function autologin_timer_expired(username) { |
|
/* Stub. Does nothing. */ |
|
} |
|
|
|
/*********************************************************************/ |
|
/* Functions local to this greeter */ |
|
/*********************************************************************/ |
|
|
|
/** |
|
* clear_messages |
|
*/ |
|
function clear_messages() { |
|
messages = document.getElementById("messages"); |
|
messages.innerHTML = ""; |
|
messages.style.visibility = "hidden"; |
|
} |
|
|
|
/** |
|
* Kickoff the authentication process |
|
*/ |
|
function start_authentication() { |
|
clear_messages(); |
|
lightdm.start_authentication(); // start with null userid, have pam prompt for userid. |
|
} |
|
|
|
/** |
|
* handle the input from the entry field. |
|
*/ |
|
function handle_input() { |
|
entry = document.getElementById("entry"); |
|
lightdm.respond(entry.value); |
|
} |
|
</script> |
|
<script src="../antergos/js/mock.js"></script> |
|
<script> |
|
start_authentication(); |
|
</script> |
|
</body> |
|
</html>
|
|
|