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.

162 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>