diff --git a/img/logo.txt b/img/logo.txt
new file mode 100644
index 000000000..5589f25f8
--- /dev/null
+++ b/img/logo.txt
@@ -0,0 +1,8 @@
+ 8888888888 8888888b. 8888888 .d8888b. Y88b d88P .d88888b. 888b 888
+ 888 888 Y88b 888 d88P Y88b Y88b d88P d88P" "Y88b 8888b 888
+ 888 888 888 888 888 888 Y88o88P 888 888 88888b 888
+ 8888888 888 d88P 888 888 Y888P 888 888 888Y88b 888
+ 888 8888888P" 888 888 888 888 888 888 Y88b888
+ 888 888 888 888 888 888 888 888 888 Y88888
+ 888 888 888 Y88b d88P 888 Y88b. .d88P 888 Y8888
+ 8888888888 888 8888888 "Y8888P" 888 "Y88888P" 888 Y888
diff --git a/theme.py b/theme.py
index 031a68de7..bf129a186 100644
--- a/theme.py
+++ b/theme.py
@@ -434,6 +434,20 @@ def getTextModeBanner(baseDir: str) -> str:
return None
+def getTextModeLogo(baseDir: str) -> str:
+ """Returns the login screen logo used for shell browsers, like Lynx
+ """
+ textModeLogoFilename = baseDir + '/accounts/logo.txt'
+ if not os.path.isfile(textModeLogoFilename):
+ textModeLogoFilename = baseDir + '/img/logo.txt'
+
+ with open(textModeLogoFilename, 'r') as fp:
+ logoStr = fp.read()
+ if logoStr:
+ return logoStr.replace('\n', '
')
+ return None
+
+
def _setThemeImages(baseDir: str, name: str) -> None:
"""Changes the profile background image
and banner to the defaults
diff --git a/webapp_login.py b/webapp_login.py
index 5e4188be8..115a3aecb 100644
--- a/webapp_login.py
+++ b/webapp_login.py
@@ -13,6 +13,8 @@ from utils import getConfigParam
from utils import noOfAccounts
from webapp_utils import htmlHeaderWithExternalStyle
from webapp_utils import htmlFooter
+from webapp_utils import htmlKeyboardNavigation
+from theme import getTextModeLogo
def htmlGetLoginCredentials(loginParams: str,
@@ -75,6 +77,9 @@ def htmlLogin(cssCache: {}, translate: {},
loginImageFilename = baseDir + '/accounts/' + loginImage
copyfile(baseDir + '/img/login.png', loginImageFilename)
+ textModeLogo = getTextModeLogo(baseDir)
+ textModeLogoHtml = htmlKeyboardNavigation(textModeLogo, {})
+
if os.path.isfile(baseDir + '/accounts/login-background-custom.jpg'):
if not os.path.isfile(baseDir + '/accounts/login-background.jpg'):
copyfile(baseDir + '/accounts/login-background-custom.jpg',
@@ -141,6 +146,7 @@ def htmlLogin(cssCache: {}, translate: {},
instanceTitle = getConfigParam(baseDir, 'instanceTitle')
if not instanceTitle:
instanceTitle = "Epicyon"
+ loginForm += textModeLogoHtml + '\n'
loginForm += \
'
\n'