From 6a0e54cbe9f58bc1445b697ad5a87e8c2b254462 Mon Sep 17 00:00:00 2001 From: Dustin Falgout Date: Sat, 27 Feb 2016 03:25:06 -0600 Subject: [PATCH] still finishing refactoring for better cross distro-compatibility --- themes/antergos/css/style.css | 17 +++--- themes/antergos/fonts/TTF/Lato-Light.ttf | Bin 122524 -> 0 bytes themes/antergos/fonts/TTF/Lato-Regular.ttf | Bin 120196 -> 0 bytes themes/antergos/index.theme | 2 +- themes/antergos/js/greeter-compiled.js | 56 +++++++++++++++----- themes/antergos/js/greeter-compiled.js.map | 2 +- themes/antergos/js/greeter.js | 58 ++++++++++++++++----- 7 files changed, 97 insertions(+), 38 deletions(-) delete mode 100644 themes/antergos/fonts/TTF/Lato-Light.ttf delete mode 100644 themes/antergos/fonts/TTF/Lato-Regular.ttf diff --git a/themes/antergos/css/style.css b/themes/antergos/css/style.css index 3a583f9..d1316c3 100644 --- a/themes/antergos/css/style.css +++ b/themes/antergos/css/style.css @@ -29,13 +29,12 @@ /* Global Styles */ @font-face { - font-family: Lato; - src: url('../fonts/TTF/Lato-Regular.ttf'); + font-family: 'Open Sans'; + src: url('../fonts/TTF/OpenSans-Regular.ttf'); } - @font-face { - font-family: LatoLight; - src: url('../fonts/TTF/Lato-Light.ttf'); + font-family: 'Open Sans Light'; + src: url('../fonts/TTF/OpenSans-Light.ttf'); } *:focus { @@ -89,7 +88,7 @@ body { height: 100%; width: 100%; background-color: #000000; - font-family: "Lato", "Open Sans", sans-serif; + font-family: "Open Sans", sans-serif; } i { @@ -97,7 +96,7 @@ i { } h3, .panel-heading { - font-family: "Lato", "Open Sans", sans-serif; + font-family: "Open Sans", sans-serif; font-size: 16px; text-align: center; font-weight: 400; @@ -203,7 +202,7 @@ a { height: 100%; width: 100%; position: relative; - background-image: url(''); + background-color: #000000; background-size: cover !important; background-repeat: no-repeat !important; background-position: center !important; @@ -230,7 +229,7 @@ a { /* Clock Widget */ .time { - font-family: "LatoLight", "Open Sans", sans-serif; + font-family: "Open Sans Light", sans-serif; font-size: 96px; line-height: 1em; text-decoration: none; diff --git a/themes/antergos/fonts/TTF/Lato-Light.ttf b/themes/antergos/fonts/TTF/Lato-Light.ttf deleted file mode 100644 index a958067a86f46b4b82b6b1ec43fa83f5875f3e43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122524 zcmeEv2Y4LSwf~)&?QORAzS<(~s#smJBwMy@%aXfgS+d-Fuej1ovyJIsu<2k7n1lqw zBf;1}cnJw5KnO{IBtQrxKoXKbsIjfx|L@G~N-|FJ{?GsSzVH3N?~Q!U-kqJf<+OXw zJ$J^8V~p8>6l~EO8hOyuWD6 zIbrsZ=03(sx8Zv4()G*MsCsX!V=R3w>e#ew!KU>r%G_xGMf`49wtD;0+tyw%fwA(Z z8T-vM%NMWNc40-=M#hY|-&3)C$%4hFCV%o<+>2{i?Q)zDSE%tDcPYLXEnjoawlUMU zbTG!J(0ffziw`f84FK@v0rTcJAX3c_a>xEK<4)>$KEWCEX znkDyL|H4a*J8wB-mLINPx9Ob5H)sEraaUI`Cfu@q!r`%l{8@1mc(=^m7@e1l_kO?YP!0e+tJ~8~2$;;6;Jw zd4<3WcQN+R6gIz8ssZSn?NcVOk&K<>RUO$K+_mcOa^DCub_4w`yrVM6*$=5s^>>*?@sI=_#oyQ_jN>8x$GNZYxeD$7SO9JL@vK{T3E$h;gTmFU2cI*A zEbHMfWkKN+)~RS@2hs1FxYu(p3vWo{cuG~r4$^tROhp+!=^igTD9mQP{PV0D=Pwst zW*+7DnNzr##ZYz%dsqkB9l`f-DtxX$`&SldkMf;>(fQ9AbdB&wb_M#DR83?v_&eE3 zVI{j2zaJvnOXtQjyI^H~IJbtsi7fyu#PvU+wiO?!=-*0qM0qXS zCBZ&69kefz=uWi%8mQ}Xe~%r0enyco&-1m233*`EAWAMFci?Qo9Vm63*tu} zzz+}cOtFhSOLYH7pc;?!;05tvD1Z-9z^&Y`a~}adRaCIv0X`5fh63o4|9-hd6QYaE z7bo$IctYc*_GzpV@1J9@QhR9QDMblu1fLpce7NtR=HD>B@5pTspGnrFPZ|$oi}-uS z=N`5NJP7B(j?Wsvi-2u_y?_MZJjG3{3~k&1xw-**bunNq0eF2efIioPo}@PbE~uQ( zR%l*jGx=5QR=^SNlUyx+3n_14?aKGra+J?ix|v1U#U=t~;`<@RB9=nAL*R3yr#}La z4pN;b0M{{=%VNwy#cCErpMC}q@-PFRj{^*OsKn>Xfb#(*fR%vv$)dG!@-czqhEpj) zX!ry!F@Z2QVZsEijjN)Q|Kvy)&P%uB;;$X3L^|5I30!nSVnR8``7Lw?SK^j4u9vSK z{2_mTp_;e#f8<&uJjUvWJLzE8m2A!kp^JbPwr0!oWL&T0(LWZ?gaBN53rYcfql#e>}P)901M>)&Vnom9AY8hFbe}mSS0rq=IkhN zjKzS9SP^iX#eownk^7P*SrRzKQozNm7`TL$0H;|x_XW$a3~(tc1ukP{z~!tw_c^Oz z6~M#TFyKm730%dhfU8+`?lV@yYJh85EpQ#H1FmQFzzwV+_bF>+jljd%aNs7^1l-J; zfm>Kh?r&@a8v#6$jRbCGt-zz$sN5%PG#d@v#@c|#ura`6*;wFlY+UYR*3R02$FuRk z9jpVmlXU`5U=wnGWfLVliA_X#GMfZEg-y==g-vBsfTyvkz|+|@;4U^Dcn0gr{h4*M z8Nf4HH*gP|3EazifM>DZ+()dB%>tgy`he%K*}!wzoZO$-JT@12KAQ);fXxS9$QA%E zVheMBWQ*A%;3aG^@KUw}co|y?yqqn|{ei7u%Yj$26~L?5O5oLORqjK!hOGu(%hmv| zV{3uevvt55*!tWDY$MwMyoqfDK8I}r-ptMc-oiHL-e+6c7T|4cEAV!<4R{CJ4ty@# zk^4P6kDUvAK06Qi0(L&|h3tad@7PXuA@D_PC-BAWBH&Bd#lV-cOLFhA%h;vByVzyG zyV)+_J#07dfg z-hoGRJ@7tu1MrP(A28-Q;Qj2T+;7+cwjcOrb^!Pm3E#?Y&b`fUW48d`&Ta+1gWU#v zC%YZ^E_O%mEp|7%6Zjyz3-}&(H}D~L5cpnpPwq{2A3FqmKf4$BFuM=<0d_y|H`w9a zuh}=*1HccmZvcObeG~ZG?7`fx*hB1Fz(?4(fgffM0YAcy0RJ0%IQL8TD0>9>JM7

_@=QvuA-{V9(`#&VJ0E2Y!*g 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

ask~-O`^ssB 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 diff --git a/themes/antergos/fonts/TTF/Lato-Regular.ttf b/themes/antergos/fonts/TTF/Lato-Regular.ttf deleted file mode 100644 index 04ea8efb1367727b081dea87e63818be0a4d02f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120196 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�r(aJ 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 d3)lz{Xfc9M412p diff --git a/themes/antergos/index.theme b/themes/antergos/index.theme index 29b6584..894ab06 100644 --- a/themes/antergos/index.theme +++ b/themes/antergos/index.theme @@ -1,6 +1,6 @@ [theme] name=Antergos -version=2.3.2 +version=2.4.0 description=Antergos Theme engine=lightdm-webkit2-greeter url=index.html diff --git a/themes/antergos/js/greeter-compiled.js b/themes/antergos/js/greeter-compiled.js index d4a3862..e3fa253 100644 --- a/themes/antergos/js/greeter-compiled.js +++ b/themes/antergos/js/greeter-compiled.js @@ -182,12 +182,14 @@ var GreeterThemeComponent = (function () { key: 'init_config_values', value: function init_config_values() { var logo = '', + user_image = '', background_images = [], background_images_dir = ''; if ('undefined' !== typeof config) { if (this instanceof AntergosTheme) { logo = config.get_str('branding', 'logo') || ''; + user_image = config.get_str('branding', 'user_image') || ''; } else if (this instanceof AntergosBackgroundManager) { background_images_dir = config.get_str('branding', 'background_images') || ''; if (background_images_dir) { @@ -229,6 +231,7 @@ var GreeterThemeComponent = (function () { } this.logo = logo; + this.user_image = user_image; this.background_images = background_images; this.background_images_dir = background_images_dir; } @@ -255,7 +258,7 @@ var AntergosBackgroundManager = (function (_GreeterThemeComponen) { _bg_self = _this; } - _this.current_background = _this.cache_get('background_config', 'current_background'); + _this.current_background = _this.cache_get('background_manager', 'current_background'); if (!_this.background_images_dir.length || !_this.background_images.length) { _this.log('AntergosBackgroundManager: [ERROR] No background images detected.'); @@ -263,10 +266,7 @@ var AntergosBackgroundManager = (function (_GreeterThemeComponen) { $('.header').fadeTo(300, 0.5, function () { $('.header').css("background", '#000000'); }).fadeTo(300, 1); - } else { - _this.initialize(); } - return _ret = _bg_self, _possibleConstructorReturn(_this, _ret); } @@ -295,11 +295,18 @@ var AntergosBackgroundManager = (function (_GreeterThemeComponen) { if ('true' === random_background || !current_background) { current_background = this.get_random_image(); } + this.current_background = current_background; } + this.do_background(); + } + }, { + key: 'do_background', + value: function do_background() { $('.header').fadeTo(300, 0.5, function () { - $('.header').css("background", this.current_background); + var tpl = 'url(\'file://' + this.current_background + '\')'; + $('.header').css("background-image", tpl); }).fadeTo(300, 1); } }, { @@ -324,12 +331,13 @@ var AntergosBackgroundManager = (function (_GreeterThemeComponen) { var image_file = _step4.value; var $link = $(''), - $img_el = $link.children('img'); + $img_el = $link.children('img'), + tpl = 'file://' + image_file; - $link.addClass('bg clearfix').attr('data-img', image_file); - $img_el.attr('src', image_file); + $link.addClass('bg clearfix').attr('data-img', tpl); + $img_el.attr('src', tpl); - $link.appendTo($('.bgs')); + $link.appendTo($('.bgs')).click(this.background_selected_handler); } } catch (err) { _didIteratorError4 = true; @@ -347,6 +355,21 @@ var AntergosBackgroundManager = (function (_GreeterThemeComponen) { } } } + }, { + key: 'background_selected_handler', + value: function background_selected_handler(event) { + var img = $(this).attr('data-img'); + + if ('random' === img) { + this.cache_set('true', 'background_manager', 'randmom_background'); + img = this.get_random_image(); + } + + this.cache_set(img, 'background_manager', 'current_background'); + this.current_background = img; + + this.do_background(); + } }]); return AntergosBackgroundManager; @@ -369,6 +392,7 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { if (null === _self) { _self = _this2; } + _this2.tux = 'img/antergos-logo-user.png'; _this2.user_list_visible = false; _this2.auth_pending = false; _this2.selected_user = null; @@ -381,6 +405,7 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { _this2.$msg_area = $('#showMsg'); _this2.background_manager = new AntergosBackgroundManager(); + _this2.background_manager.initialize(); _this2.initialize(); return _ret2 = _self, _possibleConstructorReturn(_this2, _ret2); @@ -431,8 +456,7 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { }, { key: 'prepare_user_list', value: function prepare_user_list() { - var tux = 'img/antergos-logo-user.png', - template; + var template; // Loop through the array of LightDMUser objects to create our user list. var _iteratorNormalCompletion5 = true; @@ -444,7 +468,7 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { var user = _step5.value; var last_session = this.cache_get('user', user.name, 'session'), - image_src = user.image.length ? user.image : tux; + image_src = user.image.length ? user.image : this.user_image; if (null === last_session) { // For backwards compatibility @@ -462,7 +486,7 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { template = '\n\t\t\t\t\n\t\t\t\t\t' + user.display_name + '\n\t\t\t\t\t' + user.display_name + '\n\t\t\t\t\t\n\t\t\t\t'; // Register event handler here so we don't have to iterate over the users again later. - $(template).appendTo(this.$user_list).click(this.start_authentication); + $(template).appendTo(this.$user_list).click(this.start_authentication).on('error.antergos', this.user_image_error_handler); } // END for ( var user of lightdm.users ) } catch (err) { _didIteratorError5 = true; @@ -856,6 +880,12 @@ var AntergosTheme = (function (_GreeterThemeComponen2) { value: function user_list_collapse_handler() { _self.user_list_visible = _self.$user_list.hasClass('in') ? true : false; } + }, { + key: 'user_image_error_handler', + value: function user_image_error_handler(event) { + $(this).off('error.antergos'); + $(this).attr('src', _self.tux); + } /** * LightDM Callback - Show password prompt to user. diff --git a/themes/antergos/js/greeter-compiled.js.map b/themes/antergos/js/greeter-compiled.js.map index 4f048f7..1b9d03c 100644 --- a/themes/antergos/js/greeter-compiled.js.map +++ b/themes/antergos/js/greeter-compiled.js.map @@ -1 +1 @@ -{"version":3,"sources":["greeter.js"],"names":[],"mappings":"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","file":"greeter-compiled.js","sourcesContent":["/*\n *\n * Copyright © 2015-2016 Antergos\n *\n * greeter.js\n *\n * This file is part of lightdm-webkit-theme-antergos\n *\n * lightdm-webkit-theme-antergos is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License,\n * or any later version.\n *\n * lightdm-webkit-theme-antergos is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * The following additional terms are in effect as per Section 7 of this license:\n *\n * The preservation of all legal notices and author attributions in\n * the material or in the Appropriate Legal Notices displayed\n * by works containing it is required.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n\n/**\n * This is used to access our classes from within jQuery callbacks.\n */\nlet _self = null;\nlet _bg_self = null;\n\n\n/**\n * Capitalize a string.\n *\n * @returns {string}\n */\nString.prototype.capitalize = function() {\n\treturn this.charAt( 0 ).toUpperCase() + this.slice( 1 );\n};\n\n\n\n\n\n\n/**\n * This is the base class for the theme's components.\n */\nclass GreeterThemeComponent {\n\n\tconstructor() {\n\t\tthis.debug = this.cache_get( 'debug', 'enabled' );\n\t\tthis.lang = window.navigator.language.split( '-' )[ 0 ].toLowerCase();\n\t\tthis.translations = window.ant_translations;\n\n\t\tif ( 'undefined' === typeof window.navigator.languages ) {\n\t\t\twindow.navigator.languages = [ window.navigator.language ];\n\t\t}\n\n\t\tthis.init_config_values();\n\t}\n\n\n\t/**\n\t * Add text to the debug log element (accessible from the login screen).\n\t *\n\t * @param {string} text - To be added to the log.\n\t */\n\tlog( text ) {\n\t\tif ( 'true' === this.debug ) {\n\t\t\tconsole.log( text );\n\t\t}\n\t\t$( '#logArea' ).append( `${text}
` );\n\t}\n\n\n\t/**\n\t * Get a key's value from localStorage. Keys can have two or more parts.\n\t * For example: \"ant:user:john:session\".\n\t *\n\t * @param {...string} key_parts - Strings that are combined to form the key.\n\t */\n\tcache_get( ...key_parts ) {\n\t\tvar key = `ant`;\n\n\t\tfor ( var part of key_parts ) {\n\t\t\tkey += `:${part}`;\n\t\t}\n\t\treturn localStorage.getItem( key );\n\t}\n\n\n\t/**\n\t * Set a key's value in localStorage. Keys can have two or more parts.\n\t * For example: \"ant:user:john:session\".\n\t *\n\t * @param {string} value - The value to set.\n\t * @param {...string} key_parts - Strings that are combined to form the key.\n\t */\n\tcache_set( value, ...key_parts ) {\n\t\tvar key = `ant`;\n\n\t\tfor ( var part of key_parts ) {\n\t\t\tkey += `:${part}`;\n\t\t}\n\t\treturn localStorage.setItem( key, value );\n\t}\n\n\n\t/**\n\t * Get some values from `lightdm-webkit2-greeter.conf` and save them for later.\n\t */\n\tinit_config_values() {\n\t\tlet logo = '', background_images = [], background_images_dir = '';\n\n\t\tif ( 'undefined' !== typeof config ) {\n\t\t\tif ( this instanceof AntergosTheme ) {\n\t\t\t\tlogo = config.get_str( 'branding', 'logo' ) || '';\n\n\t\t\t} else if ( this instanceof AntergosBackgroundManager ) {\n\t\t\t\tbackground_images_dir = config.get_str( 'branding', 'background_images' ) || '';\n\t\t\t\tif (background_images_dir) {\n\t\t\t\t\tbackground_images = greeterutil.dirlist(background_images_dir) || [];\n\t\t\t\t}\n\n\t\t\t\tif (background_images.length) {\n\t\t\t\t\tlet images = [];\n\t\t\t\t\tfor (var file of background_images) {\n\t\t\t\t\t\tif (file.match(/(png|PNG)|(jpg|JPEG)|(bmp|BMP)/)) {\n\t\t\t\t\t\t\timages.push(file);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbackground_images = images;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.logo = logo;\n\t\tthis.background_images = background_images;\n\t\tthis.background_images_dir = background_images_dir;\n\t}\n}\n\n\n\n\n\n\n/**\n * This class handles the theme's background switcher.\n */\nclass AntergosBackgroundManager extends GreeterThemeComponent {\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tif ( null === _bg_self ) {\n\t\t\t_bg_self = this;\n\t\t}\n\n\t\tthis.current_background = this.cache_get( 'background_config', 'current_background' );\n\n\t\tif ( ! this.background_images_dir.length || ! this.background_images.length ) {\n\t\t\tthis.log('AntergosBackgroundManager: [ERROR] No background images detected.');\n\n\t\t\t$( '.header' ).fadeTo( 300, 0.5, function() {\n\t\t\t\t$( '.header' ).css( \"background\", '#000000' );\n\t\t\t} ).fadeTo( 300, 1 );\n\n\t\t} else {\n\t\t\tthis.initialize();\n\t\t}\n\n\t\treturn _bg_self;\n\t}\n\n\n\tinitialize() {\n\t\tif ( ! this.current_background ) {\n\t\t\t// For backwards compatibility\n\t\t\tif ( null !== localStorage.getItem( 'bgsaved' ) && '0' === localStorage.getItem( 'bgrandom' ) ) {\n\t\t\t\tthis.current_background = localStorage.getItem( 'bgsaved' );\n\t\t\t\tthis.cache_set( this.current_background, 'background_manager', 'current_background' );\n\t\t\t\tlocalStorage.removeItem( 'bgrandom' );\n\t\t\t\tlocalStorage.removeItem( 'bgsaved' );\n\t\t\t} else if ( '0' === localStorage.getItem( 'bgrandom' ) ) {\n\t\t\t\tthis.current_background = this.get_random_image();\n\t\t\t\tthis.cache_set( 'true', 'background_manager', 'random_background' );\n\t\t\t\tlocalStorage.removeItem( 'bgrandom' );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! this.current_background ) {\n\t\t\t// For current and future versions\n\t\t\tlet current_background = this.cache_get('background_manager', 'current_background' ),\n\t\t\t\trandom_background = this.cache_get('background_manager', 'random_background' );\n\n\t\t\tif ( 'true' === random_background || ! current_background ) {\n\t\t\t\tcurrent_background = this.get_random_image();\n\t\t\t}\n\t\t\tthis.current_background = current_background;\n\t\t}\n\n\t\t$( '.header' ).fadeTo( 300, 0.5, function() {\n\t\t\t$( '.header' ).css( \"background\", this.current_background );\n\t\t} ).fadeTo( 300, 1 );\n\t}\n\n\n\tget_random_image() {\n\t\tlet random_bg;\n\n\t\trandom_bg = Math.floor( Math.random() * this.background_images.length );\n\n\t\treturn this.background_images[ random_bg ];\n\t}\n\n\tsetup_background_thumbnails() {\n\t\tif (this.background_images.length) {\n\t\t\tfor ( var image_file of this.background_images ) {\n\t\t\t\tlet $link = $(''),\n\t\t\t\t\t$img_el = $link.children('img');\n\n\t\t\t\t$link.addClass('bg clearfix').attr('data-img', image_file);\n\t\t\t\t$img_el.attr('src', image_file);\n\n\t\t\t\t$link.appendTo($('.bgs'));\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n\n\n\n/**\n * This is the theme's main class object. It contains almost all the theme's logic.\n */\nclass AntergosTheme extends GreeterThemeComponent {\n\n\tconstructor() {\n\t\tsuper();\n\t\tif ( null === _self ) {\n\t\t\t_self = this;\n\t\t}\n\t\tthis.user_list_visible = false;\n\t\tthis.auth_pending = false;\n\t\tthis.selected_user = null;\n\t\tthis.$user_list = $( '#user-list2' );\n\t\tthis.$session_list = $( '#sessions' );\n\t\tthis.$clock_container = $( '#collapseOne' );\n\t\tthis.$clock = $( \"#current_time\" );\n\t\tthis.$actions_container = $( \"#actionsArea\" );\n\t\tthis.$msg_area_container = $( '#statusArea' );\n\t\tthis.$msg_area = $( '#showMsg' );\n\t\tthis.background_manager = new AntergosBackgroundManager();\n\n\t\tthis.initialize();\n\n\t\treturn _self;\n\t}\n\n\tinitialize() {\n\t\tthis.prepare_translations();\n\t\tthis.do_static_translations();\n\t\tthis.initialize_clock();\n\t\tthis.prepare_login_panel_header();\n\t\tthis.prepare_user_list();\n\t\tthis.prepare_session_list();\n\t\tthis.prepare_system_action_buttons();\n\t\t$( \"#login\" ).addClass( \"in\" );\n\t\tthis.register_callbacks();\n\t\tthis.background_manager.setup_background_thumbnails();\n\t}\n\n\n\t/**\n\t * Register callbacks for the LDM Greeter as well as any others that haven't been registered\n\t * elsewhere.\n\t */\n\tregister_callbacks() {\n\t\tvar events = 'shown.bs.collapse, hidden.bs.collapse';\n\n\t\tthis.$user_list.parents( '.collapse' ).on( events, this.user_list_collapse_handler );\n\t\t$( document ).keydown( this.key_press_handler );\n\t\t$( '.cancel_auth' ).click( this.cancel_authentication );\n\t\t$( '.submit_passwd' ).click( this.submit_password );\n\n\t\twindow.show_prompt = this.show_prompt;\n\t\twindow.show_message = this.show_message;\n\t\twindow.start_authentication = this.start_authentication;\n\t\twindow.cancel_authentication = this.cancel_authentication;\n\t\twindow.authentication_complete = this.authentication_complete;\n\t\twindow.autologin_timer_expired = this.cancel_authentication;\n\t}\n\n\t/**\n\t * Initialize the user list.\n\t */\n\tprepare_user_list() {\n\t\tvar tux = 'img/antergos-logo-user.png',\n\t\t\ttemplate;\n\n\t\t// Loop through the array of LightDMUser objects to create our user list.\n\t\tfor ( var user of lightdm.users ) {\n\t\t\tvar last_session = this.cache_get( 'user', user.name, 'session' ),\n\t\t\t\timage_src = user.image.length ? user.image : tux;\n\n\t\t\tif ( null === last_session ) {\n\t\t\t\t// For backwards compatibility\n\t\t\t\tlast_session = localStorage.getItem( user.name );\n\t\t\t\tif ( null === last_session ) {\n\t\t\t\t\t// This user has never logged in before let's enable the system's default\n\t\t\t\t\t// session.\n\t\t\t\t\tlast_session = lightdm.default_session;\n\t\t\t\t}\n\t\t\t\tthis.cache_set( last_session, 'user', user.name, 'session' );\n\t\t\t}\n\n\t\t\tthis.log( `Last session for ${user.name} was: ${last_session}` );\n\n\t\t\ttemplate = `\n\t\t\t\t\n\t\t\t\t\t\"${user.display_name}\"\n\t\t\t\t\t${user.display_name}\n\t\t\t\t\t\n\t\t\t\t`;\n\n\t\t\t// Register event handler here so we don't have to iterate over the users again later.\n\t\t\t$( template ).appendTo( this.$user_list ).click( this.start_authentication );\n\n\t\t} // END for ( var user of lightdm.users )\n\n\t\tif ( $( this.$user_list ).children().length > 3 ) {\n\t\t\t// Make the user list two columns instead of one.\n\t\t\t$( this.$user_list ).css( 'column-count', '2' ).parent().css( 'max-width', '85%' );\n\t\t}\n\n\t}\n\n\t/**\n\t * Initialize the session selection dropdown.\n\t */\n\tprepare_session_list() {\n\t\t// Loop through the array of LightDMSession objects to create our session list.\n\t\tfor ( var session of lightdm.sessions ) {\n\t\t\tvar css_class = session.name.replace( / /g, '' ),\n\t\t\t\ttemplate;\n\n\t\t\tthis.log( `Adding ${session.name} to the session list...` );\n\n\t\t\ttemplate = `\n\t\t\t\t

  • \n\t\t\t\t\t${session.name}\n\t\t\t\t
  • `;\n\n\t\t\t$( template ).appendTo( this.$session_list ).click( this.session_toggle_handler );\n\n\t\t} // END for (var session of lightdm.sessions)\n\n\t\t$( '.dropdown-toggle' ).dropdown();\n\t}\n\n\t/**\n\t * Initialize the system action buttons\n\t */\n\tprepare_system_action_buttons() {\n\t\tvar actions = {\n\t\t\t\tshutdown: \"power-off\",\n\t\t\t\thibernate: \"asterisk\",\n\t\t\t\tsuspend: \"arrow-down\",\n\t\t\t\trestart: \"refresh\"\n\t\t\t},\n\t\t\ttemplate;\n\n\t\tfor ( var action of Object.keys( actions ) ) {\n\t\t\tvar cmd = `can_${action}`;\n\n\t\t\ttemplate = `\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t`;\n\n\t\t\tif ( lightdm[ cmd ] ) {\n\t\t\t\t$( template ).appendTo( $( this.$actions_container ) ).click( this.system_action_handler );\n\t\t\t}\n\t\t} // END for (var [action, icon] of actions)\n\n\t\t$( '[data-toggle=tooltip]' ).tooltip();\n\t\t$('.modal').modal({show: false});\n\t}\n\n\tinitialize_clock() {\n\t\tvar saved_format = this.cache_get( 'clock', 'time_format' ),\n\t\t\tformat = (null !== saved_format) ? saved_format : 'LT';\n\n\t\tmoment.locale( window.navigator.languages );\n\t\tthis.$clock.html( moment().format( format ) );\n\n\t\tsetInterval( () => {\n\t\t\tthis.$clock.html( moment().format( format ) );\n\t\t}, 60000 );\n\t}\n\n\n\t/**\n\t * Show the user list if its not already shown. This is used to allow the user to\n\t * display the user list by pressing Enter or Spacebar.\n\t */\n\tshow_user_list() {\n\t\tif ( $( this.$clock_container ).hasClass( 'in' ) ) {\n\t\t\t$( '#trigger' ).trigger( 'click' );\n\t\t}\n\t\tif ( $( this.$user_list ).length <= 1 ) {\n\t\t\t$( this.$user_list ).find( 'a' ).trigger( 'click', this );\n\t\t}\n\t}\n\n\n\tprepare_login_panel_header() {\n\t\tvar greeting = (this.translations.greeting) ? this.translations.greeting : 'Welcome!',\n\t\t\tlogo = ( '' !== this.logo ) ? this.logo : 'img/antergos.png';\n\n\t\t$( '.welcome' ).text( greeting );\n\t\t$( '#hostname' ).append( lightdm.hostname );\n\t\t$('[data-greeter-config=\"logo\"]').attr('src', logo);\n\t}\n\n\n\tprepare_translations() {\n\t\tif ( ! this.translations.hasOwnProperty( this.lang ) ) {\n\t\t\tfor ( var lang of window.navigator.languages ) {\n\t\t\t\tif ( this.translations.hasOwnProperty( lang ) ) {\n\t\t\t\t\tthis.lang = lang;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ( ! this.translations.hasOwnProperty( this.lang ) ) {\n\t\t\tthis.lang = 'en';\n\t\t}\n\n\t\tthis.translations = this.translations[ this.lang ];\n\t}\n\n\n\t/**\n\t * Replace '${i18n}' with translated string for all elements that\n\t * have the data-i18n attribute. This is for elements that are not generated\n\t * dynamically (they can be found in index.html).\n\t */\n\tdo_static_translations() {\n\t\t$( '[data-i18n]' ).each( function() {\n\t\t\tvar key = $( this ).attr( 'data-i18n' ),\n\t\t\t\thtml = $( this ).html(),\n\t\t\t\ttranslated = _self.translations[ key ],\n\t\t\t\tnew_html = html.replace( '${i18n}', translated );\n\n\t\t\t$( this ).html( new_html );\n\t\t} );\n\t}\n\n\n\t/**\n\t * Start the authentication process for the selected user.\n\t *\n\t * @param {object} event - jQuery.Event object from 'click' event.\n\t */\n\tstart_authentication( event ) {\n\t\tvar user_id = $( this ).attr( 'id' ),\n\t\t\tselector = `.${user_id}`,\n\t\t\tuser_session = _self.cache_get( 'user', user_id, 'session' );\n\n\t\tif ( _self.auth_pending || null !== _self.selected_user ) {\n\t\t\tlightdm.cancel_authentication();\n\t\t\t_self.log( `Authentication cancelled for ${_self.selected_user}` );\n\t\t\t_self.selected_user = null;\n\t\t}\n\n\t\t_self.log( `Starting authentication for ${user_id}.` );\n\t\t_self.selected_user = user_id;\n\n\t\t// CSS hack to workaround webkit bug\n\t\tif ( $( _self.$user_list ).children().length > 3 ) {\n\t\t\t$( _self.$user_list ).css( 'column-count', 'initial' ).parent().css( 'max-width', '50%' );\n\t\t}\n\t\t$( selector ).addClass( 'hovered' ).siblings().hide();\n\t\t$( '.fa-toggle-down' ).hide();\n\n\t\t_self.log( `Session for ${user_id} is ${user_session}` );\n\n\t\t$( `[data-session-id=\"${user_session}\"]` ).parent().trigger( 'click', this );\n\n\t\t$( '#session-list' ).removeClass( 'hidden' ).show();\n\t\t$( '#passwordArea' ).show();\n\t\t$( '.dropdown-toggle' ).dropdown();\n\n\t\t_self.auth_pending = true;\n\n\t\tlightdm.authenticate( user_id );\n\t}\n\n\n\t/**\n\t * Cancel the pending authentication.\n\t *\n\t * @param {object} event - jQuery.Event object from 'click' event.\n\t */\n\tcancel_authentication( event ) {\n\t\tvar selectors = [ '#statusArea', '#timerArea', '#passwordArea', '#session-list' ];\n\n\t\tfor ( var selector of selectors ) {\n\t\t\t$( selector ).hide();\n\t\t}\n\n\t\tlightdm.cancel_authentication();\n\n\t\t_self.log( 'Cancelled authentication.' );\n\n\t\t// CSS hack to work-around webkit bug\n\t\tif ( $( _self.$user_list ).children().length > 3 ) {\n\t\t\t$( _self.$user_list ).css( 'column-count', '2' ).parent().css( 'max-width', '85%' );\n\t\t}\n\n\t\t$( '.hovered' ).removeClass( 'hovered' ).siblings().show();\n\t\t$( '.fa-toggle-down' ).show();\n\n\t\t_self.selected_user = null;\n\t\t_self.auth_pending = false;\n\n\t}\n\n\n\t/**\n\t * Called when the user attempts to authenticate (inputs password).\n\t * We check to see if the user successfully authenticated and if so tell the LDM\n\t * Greeter to log them in with the session they selected.\n\t */\n\tauthentication_complete() {\n\t\tvar selected_session = $( '.selected' ).attr( 'data-session-id' ),\n\t\t\terr_msg = _self.translations.auth_failed[ _self.lang ];\n\n\t\t_self.auth_pending = false;\n\t\t_self.cache_set( selected_session, 'user', lightdm.authentication_user, 'session' );\n\n\t\t$( '#timerArea' ).hide();\n\n\t\tif ( lightdm.is_authenticated ) {\n\t\t\t// The user entered the correct password. Let's log them in.\n\t\t\t$('body').fadeOut(1000);\n\t\t\tlightdm.login( lightdm.authentication_user, selected_session );\n\t\t} else {\n\t\t\t// The user did not enter the correct password. Show error message.\n\t\t\t$( '#statusArea' ).show();\n\t\t}\n\t}\n\n\tsubmit_password( event ) {\n\t\tlightdm.respond( $( '#passwordField' ).val() );\n\t\t$( '#passwordArea' ).hide();\n\t\t$( '#timerArea' ).show();\n\t}\n\n\tsession_toggle_handler( event ) {\n\t\tvar $session = $( this ).children( 'a' ),\n\t\t\tsession_name = $session.text(),\n\t\t\tsession_key = $session.attr( 'data-session-id' );\n\n\t\t$session.parents( '.btn-group' ).find( '.selected' ).attr( 'data-session-id', session_key ).html( session_name );\n\t}\n\n\tkey_press_handler( event ) {\n\t\tvar action;\n\t\tswitch ( event.which ) {\n\t\t\tcase 13:\n\t\t\t\taction = _self.auth_pending ? _self.submit_password() : ! _self.user_list_visible ? _self.show_user_list() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tcase 27:\n\t\t\t\taction = _self.auth_pending ? _self.cancel_authentication() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tcase 32:\n\t\t\t\taction = (! _self.user_list_visible && ! _self.auth_pending) ? _self.show_user_list() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tsystem_action_handler() {\n\t\tvar action = $( this ).attr( 'id' ),\n\t\t\t$modal = $( '.modal' );\n\n\t\t$modal.find( '.btn-primary' ).text( _self.translations[ action ] ).click( action, ( event ) => {\n\t\t\t$( this ).off( 'click' );\n\t\t\tlightdm[ event.data ]();\n\t\t} );\n\t\t$modal.find( '.btn-default' ).click( () => {\n\t\t\t$( this ).next().off( 'click' );\n\t\t} );\n\n\t\t$modal.modal('toggle');\n\t}\n\n\n\tuser_list_collapse_handler() {\n\t\t_self.user_list_visible = _self.$user_list.hasClass( 'in' ) ? true : false;\n\t}\n\n\n\t/**\n\t * LightDM Callback - Show password prompt to user.\n\t *\n\t * @param text\n\t * @param type\n\t */\n\tshow_prompt( text, type ) {\n\t\tif ( 'password' === type ) {\n\t\t\t$( '#passwordField' ).val( \"\" );\n\t\t\t$( '#passwordArea' ).show();\n\t\t\t$( '#passwordField' ).focus();\n\t\t}\n\t}\n\n\t/**\n\t * LightDM Callback - Show message to user.\n\t *\n\t * @param text\n\t */\n\tshow_message( text, type ) {\n\t\tif ( text.length > 0 ) {\n\t\t\t$( this.$msg_area ).html( text );\n\t\t\t$( '#passwordArea' ).hide();\n\t\t\t$( this.$msg_area_container ).show();\n\t\t}\n\t}\n}\n\n\n/**\n * Initialize the theme once the window has loaded.\n */\n$( window ).load( () => {\n\t_self = new AntergosTheme();\n} );\n\n"]} \ No newline at end of file +{"version":3,"sources":["greeter.js"],"names":[],"mappings":"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","file":"greeter-compiled.js","sourcesContent":["/*\n *\n * Copyright © 2015-2016 Antergos\n *\n * greeter.js\n *\n * This file is part of lightdm-webkit-theme-antergos\n *\n * lightdm-webkit-theme-antergos is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License,\n * or any later version.\n *\n * lightdm-webkit-theme-antergos is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * The following additional terms are in effect as per Section 7 of this license:\n *\n * The preservation of all legal notices and author attributions in\n * the material or in the Appropriate Legal Notices displayed\n * by works containing it is required.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */\n\n\n/**\n * This is used to access our classes from within jQuery callbacks.\n */\nlet _self = null;\nlet _bg_self = null;\n\n\n/**\n * Capitalize a string.\n *\n * @returns {string}\n */\nString.prototype.capitalize = function() {\n\treturn this.charAt( 0 ).toUpperCase() + this.slice( 1 );\n};\n\n\n\n\n\n\n/**\n * This is the base class for the theme's components.\n */\nclass GreeterThemeComponent {\n\n\tconstructor() {\n\t\tthis.debug = this.cache_get( 'debug', 'enabled' );\n\t\tthis.lang = window.navigator.language.split( '-' )[ 0 ].toLowerCase();\n\t\tthis.translations = window.ant_translations;\n\n\t\tif ( 'undefined' === typeof window.navigator.languages ) {\n\t\t\twindow.navigator.languages = [ window.navigator.language ];\n\t\t}\n\n\t\tthis.init_config_values();\n\t}\n\n\n\t/**\n\t * Add text to the debug log element (accessible from the login screen).\n\t *\n\t * @param {string} text - To be added to the log.\n\t */\n\tlog( text ) {\n\t\tif ( 'true' === this.debug ) {\n\t\t\tconsole.log( text );\n\t\t}\n\t\t$( '#logArea' ).append( `${text}
    ` );\n\t}\n\n\n\t/**\n\t * Get a key's value from localStorage. Keys can have two or more parts.\n\t * For example: \"ant:user:john:session\".\n\t *\n\t * @param {...string} key_parts - Strings that are combined to form the key.\n\t */\n\tcache_get( ...key_parts ) {\n\t\tvar key = `ant`;\n\n\t\tfor ( var part of key_parts ) {\n\t\t\tkey += `:${part}`;\n\t\t}\n\t\treturn localStorage.getItem( key );\n\t}\n\n\n\t/**\n\t * Set a key's value in localStorage. Keys can have two or more parts.\n\t * For example: \"ant:user:john:session\".\n\t *\n\t * @param {string} value - The value to set.\n\t * @param {...string} key_parts - Strings that are combined to form the key.\n\t */\n\tcache_set( value, ...key_parts ) {\n\t\tvar key = `ant`;\n\n\t\tfor ( var part of key_parts ) {\n\t\t\tkey += `:${part}`;\n\t\t}\n\t\treturn localStorage.setItem( key, value );\n\t}\n\n\n\t/**\n\t * Get some values from `lightdm-webkit2-greeter.conf` and save them for later.\n\t */\n\tinit_config_values() {\n\t\tlet logo = '', user_image = '', background_images = [], background_images_dir = '';\n\n\t\tif ( 'undefined' !== typeof config ) {\n\t\t\tif ( this instanceof AntergosTheme ) {\n\t\t\t\tlogo = config.get_str( 'branding', 'logo' ) || '';\n\t\t\t\tuser_image = config.get_str( 'branding', 'user_image' ) || '';\n\n\t\t\t} else if ( this instanceof AntergosBackgroundManager ) {\n\t\t\t\tbackground_images_dir = config.get_str( 'branding', 'background_images' ) || '';\n\t\t\t\tif (background_images_dir) {\n\t\t\t\t\tbackground_images = greeterutil.dirlist(background_images_dir) || [];\n\t\t\t\t}\n\n\t\t\t\tif (background_images.length) {\n\t\t\t\t\tlet images = [];\n\t\t\t\t\tfor (var file of background_images) {\n\t\t\t\t\t\tif (file.match(/(png|PNG)|(jpg|JPEG)|(bmp|BMP)/)) {\n\t\t\t\t\t\t\timages.push(file);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbackground_images = images;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.logo = logo;\n\t\tthis.user_image = user_image;\n\t\tthis.background_images = background_images;\n\t\tthis.background_images_dir = background_images_dir;\n\t}\n}\n\n\n\n\n\n\n/**\n * This class handles the theme's background switcher.\n */\nclass AntergosBackgroundManager extends GreeterThemeComponent {\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tif ( null === _bg_self ) {\n\t\t\t_bg_self = this;\n\t\t}\n\n\t\tthis.current_background = this.cache_get( 'background_manager', 'current_background' );\n\n\t\tif ( ! this.background_images_dir.length || ! this.background_images.length ) {\n\t\t\tthis.log('AntergosBackgroundManager: [ERROR] No background images detected.');\n\n\t\t\t$( '.header' ).fadeTo( 300, 0.5, function() {\n\t\t\t\t$( '.header' ).css( \"background\", '#000000' );\n\t\t\t} ).fadeTo( 300, 1 );\n\n\t\t}\n\t\treturn _bg_self;\n\t}\n\n\n\tinitialize() {\n\t\tif ( ! this.current_background ) {\n\t\t\t// For backwards compatibility\n\t\t\tif ( null !== localStorage.getItem( 'bgsaved' ) && '0' === localStorage.getItem( 'bgrandom' ) ) {\n\t\t\t\tthis.current_background = localStorage.getItem( 'bgsaved' );\n\t\t\t\tthis.cache_set( this.current_background, 'background_manager', 'current_background' );\n\t\t\t\tlocalStorage.removeItem( 'bgrandom' );\n\t\t\t\tlocalStorage.removeItem( 'bgsaved' );\n\t\t\t} else if ( '0' === localStorage.getItem( 'bgrandom' ) ) {\n\t\t\t\tthis.current_background = this.get_random_image();\n\t\t\t\tthis.cache_set( 'true', 'background_manager', 'random_background' );\n\t\t\t\tlocalStorage.removeItem( 'bgrandom' );\n\t\t\t}\n\t\t}\n\n\t\tif ( ! this.current_background ) {\n\t\t\t// For current and future versions\n\t\t\tlet current_background = this.cache_get('background_manager', 'current_background' ),\n\t\t\t\trandom_background = this.cache_get('background_manager', 'random_background' );\n\n\t\t\tif ( 'true' === random_background || ! current_background ) {\n\t\t\t\tcurrent_background = this.get_random_image();\n\t\t\t}\n\n\t\t\tthis.current_background = current_background;\n\t\t}\n\n\t\tthis.do_background();\n\t}\n\n\n\tdo_background() {\n\t\t$( '.header' ).fadeTo( 300, 0.5, function() {\n\t\t\tlet tpl = `url('file://${this.current_background}')`;\n\t\t\t$( '.header' ).css( \"background-image\", tpl );\n\t\t} ).fadeTo( 300, 1 );\n\t}\n\n\n\tget_random_image() {\n\t\tlet random_bg;\n\n\t\trandom_bg = Math.floor( Math.random() * this.background_images.length );\n\n\t\treturn this.background_images[ random_bg ];\n\t}\n\n\tsetup_background_thumbnails() {\n\t\tif (this.background_images.length) {\n\t\t\tfor ( var image_file of this.background_images ) {\n\t\t\t\tlet $link = $(''),\n\t\t\t\t\t$img_el = $link.children('img'),\n\t\t\t\t\ttpl = `file://${image_file}`;\n\n\t\t\t\t$link.addClass('bg clearfix').attr('data-img', tpl);\n\t\t\t\t$img_el.attr('src', tpl);\n\n\t\t\t\t$link.appendTo($('.bgs')).click( this.background_selected_handler );\n\t\t\t}\n\t\t}\n\t}\n\n\n\tbackground_selected_handler( event ) {\n\t\tlet img = $(this).attr('data-img');\n\n\t\tif ('random' === img) {\n\t\t\tthis.cache_set('true', 'background_manager', 'randmom_background' );\n\t\t\timg = this.get_random_image();\n\t\t}\n\n\t\tthis.cache_set(img, 'background_manager', 'current_background' );\n\t\tthis.current_background = img;\n\n\t\tthis.do_background();\n\n\t}\n}\n\n\n\n\n\n\n/**\n * This is the theme's main class object. It contains almost all the theme's logic.\n */\nclass AntergosTheme extends GreeterThemeComponent {\n\n\tconstructor() {\n\t\tsuper();\n\t\tif ( null === _self ) {\n\t\t\t_self = this;\n\t\t}\n\t\tthis.tux = 'img/antergos-logo-user.png';\n\t\tthis.user_list_visible = false;\n\t\tthis.auth_pending = false;\n\t\tthis.selected_user = null;\n\t\tthis.$user_list = $( '#user-list2' );\n\t\tthis.$session_list = $( '#sessions' );\n\t\tthis.$clock_container = $( '#collapseOne' );\n\t\tthis.$clock = $( \"#current_time\" );\n\t\tthis.$actions_container = $( \"#actionsArea\" );\n\t\tthis.$msg_area_container = $( '#statusArea' );\n\t\tthis.$msg_area = $( '#showMsg' );\n\t\tthis.background_manager = new AntergosBackgroundManager();\n\n\t\tthis.background_manager.initialize();\n\t\tthis.initialize();\n\n\t\treturn _self;\n\t}\n\n\tinitialize() {\n\t\tthis.prepare_translations();\n\t\tthis.do_static_translations();\n\t\tthis.initialize_clock();\n\t\tthis.prepare_login_panel_header();\n\t\tthis.prepare_user_list();\n\t\tthis.prepare_session_list();\n\t\tthis.prepare_system_action_buttons();\n\t\t$( \"#login\" ).addClass( \"in\" );\n\t\tthis.register_callbacks();\n\t\tthis.background_manager.setup_background_thumbnails();\n\t}\n\n\n\t/**\n\t * Register callbacks for the LDM Greeter as well as any others that haven't been registered\n\t * elsewhere.\n\t */\n\tregister_callbacks() {\n\t\tvar events = 'shown.bs.collapse, hidden.bs.collapse';\n\n\t\tthis.$user_list.parents( '.collapse' ).on( events, this.user_list_collapse_handler );\n\t\t$( document ).keydown( this.key_press_handler );\n\t\t$( '.cancel_auth' ).click( this.cancel_authentication );\n\t\t$( '.submit_passwd' ).click( this.submit_password );\n\n\t\twindow.show_prompt = this.show_prompt;\n\t\twindow.show_message = this.show_message;\n\t\twindow.start_authentication = this.start_authentication;\n\t\twindow.cancel_authentication = this.cancel_authentication;\n\t\twindow.authentication_complete = this.authentication_complete;\n\t\twindow.autologin_timer_expired = this.cancel_authentication;\n\t}\n\n\t/**\n\t * Initialize the user list.\n\t */\n\tprepare_user_list() {\n\t\tvar template;\n\n\t\t// Loop through the array of LightDMUser objects to create our user list.\n\t\tfor ( var user of lightdm.users ) {\n\t\t\tvar last_session = this.cache_get( 'user', user.name, 'session' ),\n\t\t\t\timage_src = user.image.length ? user.image : this.user_image;\n\n\t\t\tif ( null === last_session ) {\n\t\t\t\t// For backwards compatibility\n\t\t\t\tlast_session = localStorage.getItem( user.name );\n\t\t\t\tif ( null === last_session ) {\n\t\t\t\t\t// This user has never logged in before let's enable the system's default\n\t\t\t\t\t// session.\n\t\t\t\t\tlast_session = lightdm.default_session;\n\t\t\t\t}\n\t\t\t\tthis.cache_set( last_session, 'user', user.name, 'session' );\n\t\t\t}\n\n\t\t\tthis.log( `Last session for ${user.name} was: ${last_session}` );\n\n\t\t\ttemplate = `\n\t\t\t\t\n\t\t\t\t\t\"${user.display_name}\"\n\t\t\t\t\t${user.display_name}\n\t\t\t\t\t\n\t\t\t\t`;\n\n\t\t\t// Register event handler here so we don't have to iterate over the users again later.\n\t\t\t$( template ).appendTo( this.$user_list ).click( this.start_authentication ).on('error.antergos', this.user_image_error_handler);\n\n\t\t} // END for ( var user of lightdm.users )\n\n\t\tif ( $( this.$user_list ).children().length > 3 ) {\n\t\t\t// Make the user list two columns instead of one.\n\t\t\t$( this.$user_list ).css( 'column-count', '2' ).parent().css( 'max-width', '85%' );\n\t\t}\n\n\t}\n\n\t/**\n\t * Initialize the session selection dropdown.\n\t */\n\tprepare_session_list() {\n\t\t// Loop through the array of LightDMSession objects to create our session list.\n\t\tfor ( var session of lightdm.sessions ) {\n\t\t\tvar css_class = session.name.replace( / /g, '' ),\n\t\t\t\ttemplate;\n\n\t\t\tthis.log( `Adding ${session.name} to the session list...` );\n\n\t\t\ttemplate = `\n\t\t\t\t
  • \n\t\t\t\t\t${session.name}\n\t\t\t\t
  • `;\n\n\t\t\t$( template ).appendTo( this.$session_list ).click( this.session_toggle_handler );\n\n\t\t} // END for (var session of lightdm.sessions)\n\n\t\t$( '.dropdown-toggle' ).dropdown();\n\t}\n\n\t/**\n\t * Initialize the system action buttons\n\t */\n\tprepare_system_action_buttons() {\n\t\tvar actions = {\n\t\t\t\tshutdown: \"power-off\",\n\t\t\t\thibernate: \"asterisk\",\n\t\t\t\tsuspend: \"arrow-down\",\n\t\t\t\trestart: \"refresh\"\n\t\t\t},\n\t\t\ttemplate;\n\n\t\tfor ( var action of Object.keys( actions ) ) {\n\t\t\tvar cmd = `can_${action}`;\n\n\t\t\ttemplate = `\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t`;\n\n\t\t\tif ( lightdm[ cmd ] ) {\n\t\t\t\t$( template ).appendTo( $( this.$actions_container ) ).click( this.system_action_handler );\n\t\t\t}\n\t\t} // END for (var [action, icon] of actions)\n\n\t\t$( '[data-toggle=tooltip]' ).tooltip();\n\t\t$('.modal').modal({show: false});\n\t}\n\n\tinitialize_clock() {\n\t\tvar saved_format = this.cache_get( 'clock', 'time_format' ),\n\t\t\tformat = (null !== saved_format) ? saved_format : 'LT';\n\n\t\tmoment.locale( window.navigator.languages );\n\t\tthis.$clock.html( moment().format( format ) );\n\n\t\tsetInterval( () => {\n\t\t\tthis.$clock.html( moment().format( format ) );\n\t\t}, 60000 );\n\t}\n\n\n\t/**\n\t * Show the user list if its not already shown. This is used to allow the user to\n\t * display the user list by pressing Enter or Spacebar.\n\t */\n\tshow_user_list() {\n\t\tif ( $( this.$clock_container ).hasClass( 'in' ) ) {\n\t\t\t$( '#trigger' ).trigger( 'click' );\n\t\t}\n\t\tif ( $( this.$user_list ).length <= 1 ) {\n\t\t\t$( this.$user_list ).find( 'a' ).trigger( 'click', this );\n\t\t}\n\t}\n\n\n\tprepare_login_panel_header() {\n\t\tvar greeting = (this.translations.greeting) ? this.translations.greeting : 'Welcome!',\n\t\t\tlogo = ( '' !== this.logo ) ? this.logo : 'img/antergos.png';\n\n\t\t$( '.welcome' ).text( greeting );\n\t\t$( '#hostname' ).append( lightdm.hostname );\n\t\t$('[data-greeter-config=\"logo\"]').attr('src', logo);\n\t}\n\n\n\tprepare_translations() {\n\t\tif ( ! this.translations.hasOwnProperty( this.lang ) ) {\n\t\t\tfor ( var lang of window.navigator.languages ) {\n\t\t\t\tif ( this.translations.hasOwnProperty( lang ) ) {\n\t\t\t\t\tthis.lang = lang;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ( ! this.translations.hasOwnProperty( this.lang ) ) {\n\t\t\tthis.lang = 'en';\n\t\t}\n\n\t\tthis.translations = this.translations[ this.lang ];\n\t}\n\n\n\t/**\n\t * Replace '${i18n}' with translated string for all elements that\n\t * have the data-i18n attribute. This is for elements that are not generated\n\t * dynamically (they can be found in index.html).\n\t */\n\tdo_static_translations() {\n\t\t$( '[data-i18n]' ).each( function() {\n\t\t\tvar key = $( this ).attr( 'data-i18n' ),\n\t\t\t\thtml = $( this ).html(),\n\t\t\t\ttranslated = _self.translations[ key ],\n\t\t\t\tnew_html = html.replace( '${i18n}', translated );\n\n\t\t\t$( this ).html( new_html );\n\t\t} );\n\t}\n\n\n\t/**\n\t * Start the authentication process for the selected user.\n\t *\n\t * @param {object} event - jQuery.Event object from 'click' event.\n\t */\n\tstart_authentication( event ) {\n\t\tvar user_id = $( this ).attr( 'id' ),\n\t\t\tselector = `.${user_id}`,\n\t\t\tuser_session = _self.cache_get( 'user', user_id, 'session' );\n\n\t\tif ( _self.auth_pending || null !== _self.selected_user ) {\n\t\t\tlightdm.cancel_authentication();\n\t\t\t_self.log( `Authentication cancelled for ${_self.selected_user}` );\n\t\t\t_self.selected_user = null;\n\t\t}\n\n\t\t_self.log( `Starting authentication for ${user_id}.` );\n\t\t_self.selected_user = user_id;\n\n\t\t// CSS hack to workaround webkit bug\n\t\tif ( $( _self.$user_list ).children().length > 3 ) {\n\t\t\t$( _self.$user_list ).css( 'column-count', 'initial' ).parent().css( 'max-width', '50%' );\n\t\t}\n\t\t$( selector ).addClass( 'hovered' ).siblings().hide();\n\t\t$( '.fa-toggle-down' ).hide();\n\n\t\t_self.log( `Session for ${user_id} is ${user_session}` );\n\n\t\t$( `[data-session-id=\"${user_session}\"]` ).parent().trigger( 'click', this );\n\n\t\t$( '#session-list' ).removeClass( 'hidden' ).show();\n\t\t$( '#passwordArea' ).show();\n\t\t$( '.dropdown-toggle' ).dropdown();\n\n\t\t_self.auth_pending = true;\n\n\t\tlightdm.authenticate( user_id );\n\t}\n\n\n\t/**\n\t * Cancel the pending authentication.\n\t *\n\t * @param {object} event - jQuery.Event object from 'click' event.\n\t */\n\tcancel_authentication( event ) {\n\t\tvar selectors = [ '#statusArea', '#timerArea', '#passwordArea', '#session-list' ];\n\n\t\tfor ( var selector of selectors ) {\n\t\t\t$( selector ).hide();\n\t\t}\n\n\t\tlightdm.cancel_authentication();\n\n\t\t_self.log( 'Cancelled authentication.' );\n\n\t\t// CSS hack to work-around webkit bug\n\t\tif ( $( _self.$user_list ).children().length > 3 ) {\n\t\t\t$( _self.$user_list ).css( 'column-count', '2' ).parent().css( 'max-width', '85%' );\n\t\t}\n\n\t\t$( '.hovered' ).removeClass( 'hovered' ).siblings().show();\n\t\t$( '.fa-toggle-down' ).show();\n\n\t\t_self.selected_user = null;\n\t\t_self.auth_pending = false;\n\n\t}\n\n\n\t/**\n\t * Called when the user attempts to authenticate (inputs password).\n\t * We check to see if the user successfully authenticated and if so tell the LDM\n\t * Greeter to log them in with the session they selected.\n\t */\n\tauthentication_complete() {\n\t\tvar selected_session = $( '.selected' ).attr( 'data-session-id' ),\n\t\t\terr_msg = _self.translations.auth_failed[ _self.lang ];\n\n\t\t_self.auth_pending = false;\n\t\t_self.cache_set( selected_session, 'user', lightdm.authentication_user, 'session' );\n\n\t\t$( '#timerArea' ).hide();\n\n\t\tif ( lightdm.is_authenticated ) {\n\t\t\t// The user entered the correct password. Let's log them in.\n\t\t\t$('body').fadeOut(1000);\n\t\t\tlightdm.login( lightdm.authentication_user, selected_session );\n\t\t} else {\n\t\t\t// The user did not enter the correct password. Show error message.\n\t\t\t$( '#statusArea' ).show();\n\t\t}\n\t}\n\n\tsubmit_password( event ) {\n\t\tlightdm.respond( $( '#passwordField' ).val() );\n\t\t$( '#passwordArea' ).hide();\n\t\t$( '#timerArea' ).show();\n\t}\n\n\tsession_toggle_handler( event ) {\n\t\tvar $session = $( this ).children( 'a' ),\n\t\t\tsession_name = $session.text(),\n\t\t\tsession_key = $session.attr( 'data-session-id' );\n\n\t\t$session.parents( '.btn-group' ).find( '.selected' ).attr( 'data-session-id', session_key ).html( session_name );\n\t}\n\n\tkey_press_handler( event ) {\n\t\tvar action;\n\t\tswitch ( event.which ) {\n\t\t\tcase 13:\n\t\t\t\taction = _self.auth_pending ? _self.submit_password() : ! _self.user_list_visible ? _self.show_user_list() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tcase 27:\n\t\t\t\taction = _self.auth_pending ? _self.cancel_authentication() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tcase 32:\n\t\t\t\taction = (! _self.user_list_visible && ! _self.auth_pending) ? _self.show_user_list() : 0;\n\t\t\t\t_self.log( action );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tsystem_action_handler() {\n\t\tvar action = $( this ).attr( 'id' ),\n\t\t\t$modal = $( '.modal' );\n\n\t\t$modal.find( '.btn-primary' ).text( _self.translations[ action ] ).click( action, ( event ) => {\n\t\t\t$( this ).off( 'click' );\n\t\t\tlightdm[ event.data ]();\n\t\t} );\n\t\t$modal.find( '.btn-default' ).click( () => {\n\t\t\t$( this ).next().off( 'click' );\n\t\t} );\n\n\t\t$modal.modal('toggle');\n\t}\n\n\n\tuser_list_collapse_handler() {\n\t\t_self.user_list_visible = _self.$user_list.hasClass( 'in' ) ? true : false;\n\t}\n\n\n\tuser_image_error_handler( event ) {\n\t\t$(this).off('error.antergos');\n\t\t$(this).attr('src', _self.tux);\n\t}\n\n\n\t/**\n\t * LightDM Callback - Show password prompt to user.\n\t *\n\t * @param text\n\t * @param type\n\t */\n\tshow_prompt( text, type ) {\n\t\tif ( 'password' === type ) {\n\t\t\t$( '#passwordField' ).val( \"\" );\n\t\t\t$( '#passwordArea' ).show();\n\t\t\t$( '#passwordField' ).focus();\n\t\t}\n\t}\n\n\t/**\n\t * LightDM Callback - Show message to user.\n\t *\n\t * @param text\n\t */\n\tshow_message( text, type ) {\n\t\tif ( text.length > 0 ) {\n\t\t\t$( this.$msg_area ).html( text );\n\t\t\t$( '#passwordArea' ).hide();\n\t\t\t$( this.$msg_area_container ).show();\n\t\t}\n\t}\n}\n\n\n/**\n * Initialize the theme once the window has loaded.\n */\n$( window ).load( () => {\n\t_self = new AntergosTheme();\n} );\n\n"]} \ No newline at end of file diff --git a/themes/antergos/js/greeter.js b/themes/antergos/js/greeter.js index 6ef8755..05135c0 100644 --- a/themes/antergos/js/greeter.js +++ b/themes/antergos/js/greeter.js @@ -116,11 +116,12 @@ class GreeterThemeComponent { * Get some values from `lightdm-webkit2-greeter.conf` and save them for later. */ init_config_values() { - let logo = '', background_images = [], background_images_dir = ''; + let logo = '', user_image = '', background_images = [], background_images_dir = ''; if ( 'undefined' !== typeof config ) { if ( this instanceof AntergosTheme ) { logo = config.get_str( 'branding', 'logo' ) || ''; + user_image = config.get_str( 'branding', 'user_image' ) || ''; } else if ( this instanceof AntergosBackgroundManager ) { background_images_dir = config.get_str( 'branding', 'background_images' ) || ''; @@ -141,6 +142,7 @@ class GreeterThemeComponent { } this.logo = logo; + this.user_image = user_image; this.background_images = background_images; this.background_images_dir = background_images_dir; } @@ -163,7 +165,7 @@ class AntergosBackgroundManager extends GreeterThemeComponent { _bg_self = this; } - this.current_background = this.cache_get( 'background_config', 'current_background' ); + this.current_background = this.cache_get( 'background_manager', 'current_background' ); if ( ! this.background_images_dir.length || ! this.background_images.length ) { this.log('AntergosBackgroundManager: [ERROR] No background images detected.'); @@ -172,10 +174,7 @@ class AntergosBackgroundManager extends GreeterThemeComponent { $( '.header' ).css( "background", '#000000' ); } ).fadeTo( 300, 1 ); - } else { - this.initialize(); } - return _bg_self; } @@ -203,11 +202,18 @@ class AntergosBackgroundManager extends GreeterThemeComponent { if ( 'true' === random_background || ! current_background ) { current_background = this.get_random_image(); } + this.current_background = current_background; } + this.do_background(); + } + + + do_background() { $( '.header' ).fadeTo( 300, 0.5, function() { - $( '.header' ).css( "background", this.current_background ); + let tpl = `url('file://${this.current_background}')`; + $( '.header' ).css( "background-image", tpl ); } ).fadeTo( 300, 1 ); } @@ -224,15 +230,32 @@ class AntergosBackgroundManager extends GreeterThemeComponent { if (this.background_images.length) { for ( var image_file of this.background_images ) { let $link = $(''), - $img_el = $link.children('img'); + $img_el = $link.children('img'), + tpl = `file://${image_file}`; - $link.addClass('bg clearfix').attr('data-img', image_file); - $img_el.attr('src', image_file); + $link.addClass('bg clearfix').attr('data-img', tpl); + $img_el.attr('src', tpl); - $link.appendTo($('.bgs')); + $link.appendTo($('.bgs')).click( this.background_selected_handler ); } } } + + + background_selected_handler( event ) { + let img = $(this).attr('data-img'); + + if ('random' === img) { + this.cache_set('true', 'background_manager', 'randmom_background' ); + img = this.get_random_image(); + } + + this.cache_set(img, 'background_manager', 'current_background' ); + this.current_background = img; + + this.do_background(); + + } } @@ -250,6 +273,7 @@ class AntergosTheme extends GreeterThemeComponent { if ( null === _self ) { _self = this; } + this.tux = 'img/antergos-logo-user.png'; this.user_list_visible = false; this.auth_pending = false; this.selected_user = null; @@ -262,6 +286,7 @@ class AntergosTheme extends GreeterThemeComponent { this.$msg_area = $( '#showMsg' ); this.background_manager = new AntergosBackgroundManager(); + this.background_manager.initialize(); this.initialize(); return _self; @@ -305,13 +330,12 @@ class AntergosTheme extends GreeterThemeComponent { * Initialize the user list. */ prepare_user_list() { - var tux = 'img/antergos-logo-user.png', - template; + var template; // Loop through the array of LightDMUser objects to create our user list. for ( var user of lightdm.users ) { var last_session = this.cache_get( 'user', user.name, 'session' ), - image_src = user.image.length ? user.image : tux; + image_src = user.image.length ? user.image : this.user_image; if ( null === last_session ) { // For backwards compatibility @@ -334,7 +358,7 @@ class AntergosTheme extends GreeterThemeComponent { `; // Register event handler here so we don't have to iterate over the users again later. - $( template ).appendTo( this.$user_list ).click( this.start_authentication ); + $( template ).appendTo( this.$user_list ).click( this.start_authentication ).on('error.antergos', this.user_image_error_handler); } // END for ( var user of lightdm.users ) @@ -617,6 +641,12 @@ class AntergosTheme extends GreeterThemeComponent { } + user_image_error_handler( event ) { + $(this).off('error.antergos'); + $(this).attr('src', _self.tux); + } + + /** * LightDM Callback - Show password prompt to user. *