mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 19:53:36 +00:00
replace system output with MagicMirror splash screen on boot
This commit is contained in:
parent
1dfb72703a
commit
cbb82ed635
@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
- Finnish translation.
|
- Finnish translation.
|
||||||
- Method to overwrite the module's header. [See documentation.](https://github.com/MichMich/MagicMirror/tree/develop/modules#getheader)
|
- Method to overwrite the module's header. [See documentation.](https://github.com/MichMich/MagicMirror/tree/develop/modules#getheader)
|
||||||
- Option to limit access to certain IP addresses based on the value of `ipWhitelist` in the `config.js`, default is access from localhost only (Issue [#456](https://github.com/MichMich/MagicMirror/issues/456))
|
- Option to limit access to certain IP addresses based on the value of `ipWhitelist` in the `config.js`, default is access from localhost only (Issue [#456](https://github.com/MichMich/MagicMirror/issues/456))
|
||||||
|
- Add Splash screen on boot.
|
||||||
|
|
||||||
### Updated
|
### Updated
|
||||||
- Modified translations for Frysk.
|
- Modified translations for Frysk.
|
||||||
|
@ -113,6 +113,34 @@ else
|
|||||||
exit;
|
exit;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if plymouth is installed (default with PIXEL desktop environment), then install custom splashscreen.
|
||||||
|
echo -e "\e[96mCheck plymouth installation ...\e[0m"
|
||||||
|
if command_exists plymouth; then
|
||||||
|
THEME_DIR="/usr/share/plymouth/themes"
|
||||||
|
echo -e "\e[90mSplashscreen: Checking themes directory.\e[0m"
|
||||||
|
if [ -d $THEME_DIR ]; then
|
||||||
|
echo -e "\e[90mSplashscreen: Create theme directory if not exists.\e[0m"
|
||||||
|
if [ ! -d $THEME_DIR/MagicMirror ]; then
|
||||||
|
sudo mkdir $THEME_DIR/MagicMirror
|
||||||
|
fi
|
||||||
|
|
||||||
|
if sudo cp ~/MagicMirror/splashscreen/splash.png $THEME_DIR/MagicMirror/splash.png && sudo cp ~/MagicMirror/splashscreen/MagicMirror.plymouth $THEME_DIR/MagicMirror/MagicMirror.plymouth && sudo cp ~/MagicMirror/splashscreen/MagicMirror.script $THEME_DIR/MagicMirror/MagicMirror.script; then
|
||||||
|
echo -e "\e[90mSplashscreen: Theme copied successfully.\e[0m"
|
||||||
|
if sudo plymouth-set-default-theme -R MagicMirror; then
|
||||||
|
echo -e "\e[92mSplashscreen: Changed theme to MagicMirror successfully.\e[0m"
|
||||||
|
else
|
||||||
|
echo -e "\e[91mSplashscreen: Couldn't change theme to MagicMirror!\e[0m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "\e[91mSplashscreen: Copying theme failed!\e[0m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "\e[91mSplashscreen: Themes folder doesn't exist!\e[0m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "\e[93mplymouth is not installed.\e[0m";
|
||||||
|
fi
|
||||||
|
|
||||||
echo " "
|
echo " "
|
||||||
echo -e "\e[92mWe're ready! Run \e[1m\e[97mDISPLAY=:0 npm start\e[0m\e[92m from the ~/MagicMirror directory to start your MagicMirror.\e[0m"
|
echo -e "\e[92mWe're ready! Run \e[1m\e[97mDISPLAY=:0 npm start\e[0m\e[92m from the ~/MagicMirror directory to start your MagicMirror.\e[0m"
|
||||||
echo " "
|
echo " "
|
||||||
|
8
splashscreen/MagicMirror.plymouth
Normal file
8
splashscreen/MagicMirror.plymouth
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[Plymouth Theme]
|
||||||
|
Name=MagicMirror
|
||||||
|
Description=Mirror Splash
|
||||||
|
ModuleName=script
|
||||||
|
|
||||||
|
[script]
|
||||||
|
ImageDir=/usr/share/plymouth/themes/MagicMirror
|
||||||
|
ScriptFile=/usr/share/plymouth/themes/MagicMirror/MagicMirror.script
|
50
splashscreen/MagicMirror.script
Normal file
50
splashscreen/MagicMirror.script
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
screen_width = Window.GetWidth();
|
||||||
|
screen_height = Window.GetHeight();
|
||||||
|
|
||||||
|
theme_image = Image("splash.png");
|
||||||
|
image_width = theme_image.GetWidth();
|
||||||
|
image_height = theme_image.GetHeight();
|
||||||
|
|
||||||
|
scale_x = image_width / screen_width;
|
||||||
|
scale_y = image_height / screen_height;
|
||||||
|
|
||||||
|
flag = 1;
|
||||||
|
|
||||||
|
if (scale_x > 1 || scale_y > 1)
|
||||||
|
{
|
||||||
|
if (scale_x > scale_y)
|
||||||
|
{
|
||||||
|
resized_image = theme_image.Scale (screen_width, image_height / scale_x);
|
||||||
|
image_x = 0;
|
||||||
|
image_y = (screen_height - ((image_height * screen_width) / image_width)) / 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resized_image = theme_image.Scale (image_width / scale_y, screen_height);
|
||||||
|
image_x = (screen_width - ((image_width * screen_height) / image_height)) / 2;
|
||||||
|
image_y = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
resized_image = theme_image.Scale (image_width, image_height);
|
||||||
|
image_x = (screen_width - image_width) / 2;
|
||||||
|
image_y = (screen_height - image_height) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Plymouth.GetMode() != "shutdown")
|
||||||
|
{
|
||||||
|
sprite = Sprite (resized_image);
|
||||||
|
sprite.SetPosition (image_x, image_y, -100);
|
||||||
|
}
|
||||||
|
|
||||||
|
message_sprite = Sprite();
|
||||||
|
message_sprite.SetPosition(screen_width * 0.1, screen_height * 0.9, 10000);
|
||||||
|
|
||||||
|
fun message_callback (text) {
|
||||||
|
my_image = Image.Text(text, 1, 1, 1);
|
||||||
|
message_sprite.SetImage(my_image);
|
||||||
|
sprite.SetImage (resized_image);
|
||||||
|
}
|
||||||
|
|
||||||
|
Plymouth.SetUpdateStatusFunction(message_callback);
|
BIN
splashscreen/splash.png
Normal file
BIN
splashscreen/splash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Loading…
x
Reference in New Issue
Block a user