diff --git a/README.md b/README.md index 134e3e3..2bdad25 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ # overlay -Funtoo and Gentoo overlay repository \ No newline at end of file +## Funtoo and Gentoo overlay repository + +### Contents +* Fresh ebuilds waiting for addition to the official portage tree. +* Packages that don't fit to the official portage tree. + +### Manual installation: + git clone https://code.gnuardo.com/gerardo/overlay gnuardo + echo 'PORTDIR_OVERLAY="$PWD/gnuardo"' >> /etc/portage/make.conf + diff --git a/metadata/layout.conf b/metadata/layout.conf new file mode 100644 index 0000000..d2f85b3 --- /dev/null +++ b/metadata/layout.conf @@ -0,0 +1,6 @@ +masters = gentoo +thin-manifests = true +sign-manifests = false +profile-formats = portage-2 +cache-formats = md5-dict + diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..410f21a --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +gnuardo diff --git a/x11-misc/lightdm-webkit-greeter/Manifest b/x11-misc/lightdm-webkit-greeter/Manifest new file mode 100644 index 0000000..c5f937f --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/Manifest @@ -0,0 +1,12 @@ +AUX gentoo/gentoologo.png 7190 SHA256 3cf26c8d3369918661280ff21048e476140c9434ada61f6c892d28288badfe22 SHA512 661b3695f95e2779ec6bc29a3e0ced4b03775d3a0544041b1d3ad47661cd9e36355da7391b6008cc40f0b41d19f24bc6d30efc6c38519a23c5a52d5519e34fe2 WHIRLPOOL 77db0449b40dff41f1023cdea758f9483df7465455f6862463d322bd63219f29d78a710c7d7e519572ce879b9e1f24ad66be3db124da14b9c7ba5dfb6c11ed07 +AUX gentoo/img/restart.svg 4986 SHA256 27b429b25ddd4bd60f3ca1cd83ad9f534365895cb3e569bcd315bbad6fd9c32a SHA512 71849f37f1f7286a176a15c4ec4b1ad75246db9cd1b408b3c9cdb60e307459bacb138dbae06063af3d870d8f5483899f5ac5b148b9a54fb08e709a7d1ef05618 WHIRLPOOL 5ec2bff5d99a7311fa8b801a7af350ba218b67ead7e5e1a056446eef051ab099871db7f4f41082788ccf682e4273b9182a05dd8875ab39b756926b8bfa015506 +AUX gentoo/img/shutdown.svg 6405 SHA256 b194d1f8e825efd2336db799fcb8157625cf74ce1667863de63fe62ccdd2a49e SHA512 8cdf0f46a94831cf6d8ac1a80aca7dd705d7023398571ea32e490e3bc1c8311a23d858f8311b427c71d8a49ce3524b0b1397e0cb187ff68507741bdfecaf5237 WHIRLPOOL 7e1c5697071503d21befd39f58845eb9e5301794ff05f49994d359cb0c98728c6c6845a13ae2223b50a8f81f4b4778c3e51321e0eb1d2bfc0fbaaa4a79e80be2 +AUX gentoo/img/sleep.svg 4737 SHA256 a09f138fff63357dbcfe1a8252414759e0b5ca2d5d34762d0b69c8154e2d4952 SHA512 71eea502f2b93257b96eac5ea97f5ed2c6159527ae40652cf395465750f3418b782660346080a94fc78bd95a12d474445a6546001aea760f8f648e5ec22feab1 WHIRLPOOL c209d66d845c7e3383bd3dbc072ed57131de6797c3a67e7a0e1eef45fccd3191e5799185a7b269d9bf96df40aae1acba73c585b53bb41d9da9cf613eedf6520b +AUX gentoo/index.html 2251 SHA256 4633cca1665a6180d3e78ab896a18284c45300b1280b5ad3e35c6984edb1b05f SHA512 5d03fca84c9ceaaf12e2b976e18de5d35fcbc426d20f4100105923769035e588c04904e2f010f9dca2b854d0150d45ea65d2ccbbea047b589956172eb5405629 WHIRLPOOL 3104284d5234a6d58fec8c8dab2893ba784d177ec85aab2398c6bbf1f20995aeab21c29fc980e113f83b28c5d1b2a3e7251f260af42403b5b7ee662c64940f27 +AUX gentoo/low_contrast_linen.png 22749 SHA256 4acf439c9ae114b6707b0b59036ced496e25670143d6c774bc7315dcff1a8c4e SHA512 aea519bbada8a8a05e3027632df259f1513817d684b8ef8df0f9f80ffa6abb1e15e5c86bda4d1f396f553d9b77e4b014a91b91761cfa1a2767e79ed821c71ba7 WHIRLPOOL 49ee655da8a032c65e82aa3fa43fe1558b09f7ed8f5048ef432a60d22557f50f6e721c0ba9a2f5195043789ad41dc3dffbcba8a8796f8d171c92a6e7d6c29495 +AUX gentoo/mock.js 4467 SHA256 417f2c236012badde24f5029d7af1cb71ea2b883562dbe1ba1bf2be871209853 SHA512 989aaf994df1f41b453b8efa3d910e0e19939571cb6f809e9b6eb3cf890a09ae22594c5b6feea503289f82b285cb4efbf5b805d663e7218c1a70ce8d765479a2 WHIRLPOOL 6aaddf8b3b99bf8c2bd391b64936ee5bd2ea9e53f34d28b00e6aa9e402af0c927ecc7b1493fb73471274df188920f9e8dae3048de02f91936a6afb81484fa7d2 +AUX gentoo/script.js 6464 SHA256 b855fc4b6c0a896949151aed557d1e143c612a80754b02d848373b584567bb38 SHA512 9e2c1f217e897ecf7a52ae68a5c5d37fb81e982bce6b2a442d18c4419d4b738f5c4ed40183cf5f741a2bfc82378637b5f9c135326d532ce12cd9a51ceef7151f WHIRLPOOL bdc0335f786a1a25f99b58fcb26502ea42ecbc5cc3f00be898b9d15eef57be68b674bcc39a5a4182dcca5c0a408ef2a479e446d54e936eded5ec383fa2147bc8 +AUX gentoo/style.css 2538 SHA256 0bb639fd9c5934f54e9ae26d754e51524957eaffd0ebe799fe5d27b80641ced8 SHA512 eb264ca8c988e1a511bfa28564eb4537df66c9aa28f62e16a52bafce288c8df54851f325ebdf72bc628ad3d94dc5808b72465a2f5a5f44cb73dfd3b758088944 WHIRLPOOL 18eec5603845271007afa9367acf3e8ce714fafd07ec072b9c05a52a31c97873efa80b382571dcbe1d0e5c6902778b53d08d1e4c652dea864f390467d0326897 +AUX lightdm-webkit-greeter-2.0.0_api_add_error.patch 2913 SHA256 8a2f816d4f29d9d20edea5f9336b58cfccc74b727700557b5511bf6926efe99b SHA512 aad79e6fe079f5e42358c22979d2a7fbf8e315caa7eee5fe1d3c7da3b1146974fcdff4312ebeb477339bfce58ba2fa975b06a70c424d9b656d99296332236d57 WHIRLPOOL 93bc28837a2fcff07cfe2b3ed8f973b94dc6bcbff36c62cd35e65dff0e7ad0d6398908f1424c45254496708d3e06ecf00c641cf74afba0883e5d4848d0c6323e +DIST lightdm-webkit-greeter-2.0.0.tar.gz 343433 SHA256 985068d2c95556c99c744a0e8a770f123034fe4b23e8469c1a153a1f6e687eab SHA512 a4c1479dd23d94111e2e1ca63275b21439da32722260ea46ea691e2f46b60a8dc40326e87faa649a489cd3b1546b5305ee9873559a93964b353cfab636015978 WHIRLPOOL ca75511bd4bb0cf1ff7938b413933c39fbab4f2cbb40aed7945eb0d72bab9d4aefc08aba8b7d8a4385d8ced65e1d3f16d05731d294a3a1c24496748f267095e9 +EBUILD lightdm-webkit-greeter-2.0.0.ebuild 1580 SHA256 c0dc29189b4389e07f91927035ab42446464a4a11cf5c58f5ecc57432d373ef9 SHA512 8d0b412051b1b3e2fd6ddaba19f1e2aeed49b00db0a471852564d57487580f761225fab666fef13b10a01f3da75693e8e6d3e6be8ebadd91874560488e6c9af5 WHIRLPOOL 7fac6f2d99bab07b320cafe9b471a4a57b8bec88b717e6e617d78cfa882aed15ccdaeadbcfb82c4407b3e3b37084059d43b734cd209c2dd3e723c63e80ebb19f diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/gentoologo.png b/x11-misc/lightdm-webkit-greeter/files/gentoo/gentoologo.png new file mode 100644 index 0000000..8f9c76d Binary files /dev/null and b/x11-misc/lightdm-webkit-greeter/files/gentoo/gentoologo.png differ diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/img/restart.svg b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/restart.svg new file mode 100644 index 0000000..f580c18 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/restart.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/img/shutdown.svg b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/shutdown.svg new file mode 100644 index 0000000..e768c52 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/shutdown.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/img/sleep.svg b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/sleep.svg new file mode 100644 index 0000000..4e5ca87 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/img/sleep.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/index.html b/x11-misc/lightdm-webkit-greeter/files/gentoo/index.html new file mode 100644 index 0000000..8b66fca --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/index.html @@ -0,0 +1,55 @@ + + + + + + + + +
+ + +
+
+
+
+ +
+ +
+
+
+
+
+ + + diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/low_contrast_linen.png b/x11-misc/lightdm-webkit-greeter/files/gentoo/low_contrast_linen.png new file mode 100644 index 0000000..17b491e Binary files /dev/null and b/x11-misc/lightdm-webkit-greeter/files/gentoo/low_contrast_linen.png differ diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/mock.js b/x11-misc/lightdm-webkit-greeter/files/gentoo/mock.js new file mode 100644 index 0000000..e6de687 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/mock.js @@ -0,0 +1,134 @@ +// mock lighdm for testing +if (typeof lightdm == 'undefined') { + lightdm= {}; + lightdm.hostname="test-host"; + lightdm.languages= [{code: "en_US", name: "English(US)", territory: "USA"}, {code: "en_UK", name: "English(UK)", territory: "UK"}]; + lightdm.default_language= lightdm.languages[0]; + lightdm.layouts= [{name: "test", short_description: "test description", short_description:"really long epic description"}]; + lightdm.default_layout= lightdm.layouts[0]; + lightdm.layout= lightdm.layouts[0]; + lightdm.sessions=[{key: "key1", name: "session 1", comment: "no comment"}, {key: "key2", name: "session 2", comment: "no comment"}]; + + lightdm.default_session=lightdm.sessions[0]; + lightdm.authentication_user= null; + lightdm.is_authenticated= false; + lightdm.can_suspend= true; + lightdm.can_hibernate= true; + lightdm.can_restart= true; + lightdm.can_shutdown= true; + + lightdm.users= [ + { name: "clarkk", real_name:"Superman", display_name: "Clark Kent", image :"", language: "en_US", layout: null, session: null, logged_in: false }, + { name: "brucew", real_name:"Batman", display_name: "Bruce Wayne", image :"/home/brokenImage.gif", language: "en_US", layout: null, session: null, logged_in: false}, + { name: "peterp", real_name:"Spiderman", display_name: "Peter Parker", image :"", language: "en_US", layout: null, session: null, logged_in: true}, + ] + + lightdm.sessions= [ + { name: "LXQt Desktop", key: "lxqt" }, + { name: "KDE Plasma Desktop", key: "kdeplasma" }, + ] + lightdm.default_session=lightdm.sessions[0]; + lightdm.num_users= lightdm.users.length; + lightdm.timed_login_delay= 0; //set to a number higher than 0 for timed login simulation + lightdm.timed_login_user= lightdm.timed_login_delay > 0 ? lightdm.users[0] : null; + + lightdm.get_string_property= function() {}; + lightdm.get_integer_property= function() {}; + lightdm.get_boolean_property= function() {}; + lightdm.cancel_timed_login= function() { + _lightdm_mock_check_argument_length(arguments, 0); + lightdm._timed_login_cancelled= true; + }; + + lightdm.provide_secret= function(secret) { + if (typeof lightdm._username == 'undefined' || !lightdm._username) { + throw "must call start_authentication first" + } + _lightdm_mock_check_argument_length(arguments, 1); + var user= _lightdm_mock_get_user(lightdm.username); + + if (!user && secret == lightdm._username) { + lightdm.is_authenticated= true; + lightdm.authentication_user= user; + } else { + lightdm.is_authenticated= false; + lightdm.authentication_user= null; + lightdm._username= null; + } + authentication_complete(); + }; + + lightdm.start_authentication= function(username) { + _lightdm_mock_check_argument_length(arguments, 1); + if (lightdm._username) { + throw "Already authenticating!"; + } + var user= _lightdm_mock_get_user(username); + if (!user) { + show_error(username + " is an invalid user"); + } + show_prompt("Password: "); + lightdm._username= username; + }; + + lightdm.cancel_authentication= function() { + _lightdm_mock_check_argument_length(arguments, 0); + if (!lightdm._username) { + throw "we are not authenticating"; + } + lightdm._username= null; + }; + + lightdm.suspend= function() { + alert("System Suspended. Bye Bye"); + document.location.reload(true); + }; + + lightdm.hibernate= function() { + alert("System Hibernated. Bye Bye"); + document.location.reload(true); + }; + + lightdm.restart= function() { + alert("System restart. Bye Bye"); + document.location.reload(true); + }; + + lightdm.shutdown= function() { + alert("System Shutdown. Bye Bye"); + document.location.reload(true); + }; + + lightdm.login= function(user, session) { + _lightdm_mock_check_argument_length(arguments, 2); + if (!lightdm.is_authenticated) { + throw "The system is not authenticated"; + } + if (user !== lightdm.authentication_user) { + throw "this user is not authenticated"; + } + alert("logged in successfully!!"); + document.location.reload(true); + }; + + if (lightdm.timed_login_delay > 0) { + setTimeout(function() { if (!lightdm._timed_login_cancelled()) timed_login();}, lightdm.timed_login_delay); + } +} + +function _lightdm_mock_check_argument_length(args, length) { + if (args.length != length) { + throw "incorrect number of arguments in function call"; + } +} + +function _lightdm_mock_get_user(username) { + var user= null; + for (var i= 0; i < lightdm.users.length; ++i) { + if (lightdm.users[i].name == username) { + user= lightdm.users[i]; + break; + } + } + return user; +} diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/script.js b/x11-misc/lightdm-webkit-greeter/files/gentoo/script.js new file mode 100644 index 0000000..da101a5 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/script.js @@ -0,0 +1,241 @@ +var time_remaining = 0; +var selected_user = null; +var valid_image = /.*\.(png|svg|jpg|jpeg|bmp)$/i; + +/////////////////////////////////////////////// +// CALLBACK API. Called by the webkit greeeter +/////////////////////////////////////////////// + +// called when the greeter asks to show a login prompt for a user +function show_prompt(text) { + var password_container = document.querySelector("#password_container"); + var password_entry = document.querySelector("#password_entry"); + + if (!isVisible(password_container)) { + var users = document.querySelectorAll(".user"); + var user_node = document.querySelector("#"+selected_user); + var rect = user_node.getClientRects()[0]; + var parentRect = user_node.parentElement.getClientRects()[0]; + var center = parentRect.width/2; + var left = center - rect.width/2 - rect.left; + var i = 0; + if (left < 5 && left > -5) { + left = 0; + } + for (i = 0; i < users.length; i++) { + var node = users[i]; + setVisible(node, node.id === selected_user); + node.style.left= left; + } + + setVisible(password_container, true); + password_entry.placeholder= text.replace(":", ""); + } + password_entry.value= ""; + password_entry.focus(); +} + +// called when the greeter asks to show a message +function show_message(text) { + var message = document.querySelector("#message_content"); + message.innerHTML= text; + if (text) { + document.querySelector("#message").classList.remove("hidden"); + } else { + document.querySelector("#message").classList.add("hidden"); + } + message.classList.remove("error"); +} + +// called when the greeter asks to show an error +function show_error(text) { + show_message(text); + var message = document.querySelector("#message_content"); + message.classList.add("error"); +} + +// called when the greeter is finished the authentication request +function authentication_complete() { + var container = document.querySelector("#session_container"); + var children = container.querySelectorAll("input"); + var i = 0; + var key = ""; + for (i = 0; i < children.length; i++) { + var child = children[i]; + if (child.checked) { + key = child.value; + break; + } + } + + if (lightdm.is_authenticated) { + if (key === "") { + lightdm.login(lightdm.authentication_user, lightdm.default_session); + } else { + lightdm.login(lightdm.authentication_user, key); + } + } else { + show_error("Authentication Failed"); + start_authentication(selected_user); + } +} + +// called when the greeter wants us to perform a timed login +function timed_login(user) { + lightdm.login (lightdm.timed_login_user); + //setTimeout('throbber()', 1000); +} + +////////////////////////////// +// Implementation +////////////////////////////// +function start_authentication(username) { + lightdm.cancel_timed_login(); + selected_user = username; + lightdm.start_authentication(username); +} + +function provide_secret() { + show_message("Logging in..."); + entry = document.querySelector('#password_entry'); + lightdm.provide_secret(entry.value); +} + +function initialize_sessions() { + var template = document.querySelector("#session_template"); + var container = session_template.parentElement; + var i = 0; + container.removeChild(template); + + for (i = 0; i < lightdm.sessions.length; i = i + 1) { + var session = lightdm.sessions[i]; + var s = template.cloneNode(true); + s.id = "session_" + session.key; + + var label = s.querySelector(".session_label"); + var radio = s.querySelector("input"); + + console.log(s, session); + label.innerHTML = session.name; + radio.value = session.key; + + if (session.key === lightdm.default_session) { + radio.checked = true; + } + + container.appendChild(s); + } +} + +function show_users() { + var users = document.querySelectorAll(".user"); + var i = 0; + for (i= 0; i < users.length; i++) { + setVisible(users[i], true); + users[i].style.left = 0; + } + setVisible(document.querySelector("#password_container"), false); + selected_user = null; +} + +function user_clicked(event) { + if (selected_user !== null) { + selected_user = null; + lightdm.cancel_authentication(); + show_users(); + } else { + selected_user = event.currentTarget.id; + start_authentication(event.currentTarget.id); + } + show_message(""); + event.stopPropagation(); + return false; +} + +function setVisible(element, visible) { + if (visible) { + element.classList.remove("hidden"); + } else { + element.classList.add("hidden"); + } +} + +function isVisible(element) { + return !element.classList.contains("hidden"); +} + +function update_time() { + var time = document.querySelector("#current_time"); + var date = new Date(); + + var hh = date.getHours(); + var mm = date.getMinutes(); + var ss = date.getSeconds(); + var suffix= "AM"; + if (hh > 12) { + hh = hh - 12; + suffix = "PM"; + } + if (hh < 10) { hh = "0"+hh; } + if (mm < 10) { mm = "0"+mm; } + if (ss < 10) { ss = "0"+ss; } + time.innerHTML = hh+":"+mm + " " + suffix; +} + +////////////////////////////////// +// Initialization +////////////////////////////////// + +function initialize() { + show_message(""); + initialize_users(); + initialize_timer(); + initialize_sessions(); +} + +function on_image_error(e) { + e.currentTarget.src = "img/avatar.svg"; +} + +function initialize_users() { + var template = document.querySelector("#user_template"); + var parent = template.parentElement; + parent.removeChild(template); + + for (i = 0; i < lightdm.users.length; i += 1) { + user = lightdm.users[i]; + userNode = template.cloneNode(true); + + var image = userNode.querySelectorAll(".user_image")[0]; + var name = userNode.querySelectorAll(".user_name")[0]; + name.innerHTML = user.display_name; + + if (user.image) { + image.src = user.image; + image.onerror = on_image_error; + } else { + image.src = "img/avatar.svg"; + } + + userNode.id = user.name; + userNode.onclick = user_clicked; + parent.appendChild(userNode); + } + setTimeout(show_users, 400); +} + +function initialize_timer() { + update_time(); + setInterval(update_time, 1000); +} + +function add_action(id, name, image, clickhandler, template, parent) { + action_node = template.cloneNode(true); + action_node.id = "action_" + id; + img_node = action_node.querySelectorAll(".action_image")[0]; + label_node = action_node.querySelectorAll(".action_label")[0]; + label_node.innerHTML = name; + img_node.src = image; + action_node.onclick = clickhandler; + parent.appendChild(action_node); +} diff --git a/x11-misc/lightdm-webkit-greeter/files/gentoo/style.css b/x11-misc/lightdm-webkit-greeter/files/gentoo/style.css new file mode 100644 index 0000000..2893777 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/gentoo/style.css @@ -0,0 +1,176 @@ +* { + font: normal 100% Cantarell; +} + +body { + background: url('low_contrast_linen.png'); + display: table; + height: 100%; + width: 100%; + margin: 0; + color: #EFEFEF; + + font-size: 10pt; + text-shadow: 1px 1px 3px black; +} + +body, span, div, img { + -webkit-user-select: none; +} + +input { + border: 1px solid white; + border-radius: 4px; + padding: 4px; + box-shadow: 0 0 1px 1px #222; + + -webkit-transition: box-shadow 0.3s ease-in-out; +} + +input:focus { + outline: none; + box-shadow: 0 0 1px 1px #222; + -webkit-transition: box-shadow 0.3s ease-in-out; +} + +a { + text-decoration: none; +} + +.smooth { + -webkit-transition: visibility 0s, opacity 0.3s, left 0.4s; +} + +.hidden { + opacity: 0; + visibility: hidden; + -webkit-transition-delay: 0.3s, 0s, 0s; +} + +.center { + text-align: center; +} + +.button { + cursor: pointer; +} + +.header { + background-color: #333; + height: 55px; + border-bottom: 5px solid #A0A0F0; + box-shadow: 0 0 1px 1px #222; +} + +.gentoologo { + float: left !important; + margin: 10px !important; + padding: 0 !important; + height: 40px !important; + width: 190px !important; + background: url('gentoologo.png') no-repeat; +} + +.footer { + position: fixed; + bottom: 0; + width: 100%; + height: 100px; + text-align: center; +} + +.footer, .header { + width: 100%; +} + +.time { + float: right; + line-height: 25px; + font-size: 11pt; + margin-right: 10px; + margin-top: 5px; +} + +.login_content { + display: table-row; +} + +.login_container { + display: table-cell; + vertical-align: middle; +} + +#message { + display: table-row; + height: 80px; + -webkit-transition: visibility 0s, opacity 0.3s, height 0.3s; +} + +#message.hidden { + height: 0px; +} + +#message_content { + display: table-cell; + vertical-align: top; + text-align: center; +} + +#message_content.error { + color: #F55; +} + +.user { + display: inline-block; + margin-left: 20px; + margin-right: 20px; + margin-bottom: 20px; + position: relative; +} + +.user:active { + opacity: 0.5; +} + +.user_image_wrapper { + width: 80px; + height: 80px; + + border-radius: 80px; + border: 5px solid #A0A0F0; + -webkit-transition: all 0.3s ease-in-out; +} + +.user_image_wrapper:hover { + box-shadow: 0 0 5px 5px #A0A0F0; + -webkit-transition: all 0.2s ease-in-out; +} + +.user_image { + width: 80px; + height: 80px; + border-radius: 60px; +} + +.user_name { + display: block; + margin-top: 15px; +} + +.action { + display: inline-block; + width: 80px; + margin-left: 40px; + margin-right: 40px; +} + +.action_image { + height: 50px; + width: 50px; + + margin-bottom: 5px; +} + +.action_label { + color: #B2B2B2; +} diff --git a/x11-misc/lightdm-webkit-greeter/files/lightdm-webkit-greeter-2.0.0_api_add_error.patch b/x11-misc/lightdm-webkit-greeter/files/lightdm-webkit-greeter-2.0.0_api_add_error.patch new file mode 100644 index 0000000..3359137 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/files/lightdm-webkit-greeter-2.0.0_api_add_error.patch @@ -0,0 +1,74 @@ +diff -Naurp lightdm-webkit-greeter-2.0.0.orig/src/lightdm-webkit-greeter.c lightdm-webkit-greeter-2.0.0/src/lightdm-webkit-greeter.c +--- lightdm-webkit-greeter-2.0.0.orig/src/lightdm-webkit-greeter.c 2016-01-10 20:42:31.000000000 +0100 ++++ lightdm-webkit-greeter-2.0.0/src/lightdm-webkit-greeter.c 2017-01-29 11:04:52.468821070 +0100 +@@ -532,13 +532,14 @@ authenticate_cb (JSContextRef context, + JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception) + { + gchar *name = NULL; ++ GError *error = NULL; + + if (argumentCount > 0) + name = arg_to_string (context, arguments[0], exception); + else + name = NULL; + +- lightdm_greeter_authenticate (GREETER, name); ++ lightdm_greeter_authenticate (GREETER, name, error); + + g_free (name); + return JSValueMakeNull (context); +@@ -549,7 +550,8 @@ authenticate_as_guest_cb (JSContextRef c + JSObjectRef function, + JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception) + { +- lightdm_greeter_authenticate_as_guest (GREETER); ++ GError *error = NULL; ++ lightdm_greeter_authenticate_as_guest (GREETER, error); + return JSValueMakeNull (context); + } + +@@ -580,6 +582,7 @@ respond_cb (JSContextRef context, + JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception) + { + gchar *response; ++ GError *error = NULL; + + if (argumentCount != 1) + return mkexception (context, exception, "Response not supplied"); +@@ -588,7 +591,7 @@ respond_cb (JSContextRef context, + if (!response) + return JSValueMakeNull (context); + +- lightdm_greeter_respond (GREETER, response); ++ lightdm_greeter_respond (GREETER, response, error); + + g_free (response); + return JSValueMakeNull (context); +@@ -599,7 +602,8 @@ cancel_authentication_cb (JSContextRef c + JSObjectRef function, + JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception) + { +- lightdm_greeter_cancel_authentication (GREETER); ++ GError *error = NULL; ++ lightdm_greeter_cancel_authentication (GREETER, error); + return JSValueMakeNull (context); + } + +@@ -723,15 +727,14 @@ set_language_cb (JSContextRef context, + JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef * exception) + { + gchar *language; +- ++ GError **error = NULL; + if (argumentCount != 1) + return mkexception (context, exception, "Language not supplied"); + + language = arg_to_string (context, arguments[0], exception); + if (!language) + return JSValueMakeNull (context); +- +- lightdm_greeter_set_language (GREETER, language); ++ lightdm_greeter_set_language (GREETER, language, error); + + g_free (language); + return JSValueMakeNull (context); diff --git a/x11-misc/lightdm-webkit-greeter/lightdm-webkit-greeter-2.0.0.ebuild b/x11-misc/lightdm-webkit-greeter/lightdm-webkit-greeter-2.0.0.ebuild new file mode 100644 index 0000000..b031924 --- /dev/null +++ b/x11-misc/lightdm-webkit-greeter/lightdm-webkit-greeter-2.0.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils + +DESCRIPTION="Webkit-based greeter for LightDM" +HOMEPAGE="https://launchpad.net/${PN}" +SRC_URI="${HOMEPAGE}/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="branding" + +DEPEND=">=net-libs/webkit-gtk-2.4.11 + x11-misc/lightdm + dev-libs/gobject-introspection + app-text/gnome-doc-utils + dev-util/intltool + " +RDEPEND="${DEPEND}" + +src_prepare(){ + # What is Ambiance? This should be a GTK+ 2.x theme, so we use Clearlooks here. + sed -i '/^theme-name=/s/Ambiance/Clearlooks/' data/lightdm-webkit-greeter.conf + + # Theme 'default' does not exist... + sed -i '/^webkit-theme=/s/default/webkit/' data/lightdm-webkit-greeter.conf + + # this is Ubuntu branding... Replace it with something useful. ;) + sed -i '/^background=/s|/usr/share/backgrounds/warty-final-ubuntu.png||' data/lightdm-webkit-greeter.conf + # Replace Ubuntu font with Dejavusans + sed -i '/^font-name=/s|Ubuntu 11|DejaVuSans 11|' data/lightdm-webkit-greeter.conf + + epatch "${FILESDIR}/${P}_api_add_error.patch" +} + +src_compile(){ + econf || die "econf failed" + emake DESTDIR="${D}" || die "emake failed" +} + +src_install(){ + emake DESTDIR="${D}" install + if use branding; then + insinto /usr/share/lightdm-webkit/themes + doins -r "${FILESDIR}/gentoo" + fi +} + +pkg_postinst(){ + elog "Hi! Thanks for using the Webkit greeter for LightDM." + elog "If you want to add your own themes, place them in:" + elog "/usr/share/lightdm-webkit/themes/" +}