Current version of announceEmail.pl
[clearscm.git] / bin / setlogin
1 #!/bin/bash
2 # Simple script to set the login background
3
4 if [ "$UID" != 0 ]; then
5   echo "Must be run as root"
6   exit 1
7 fi
8
9 if [ $# != 1 ]; then
10   echo "Usage: $0 <image file>"
11   exit 1
12 fi
13
14 # Not sure why Yaru was picked as the source...
15 source="/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource"
16 color="#000000"
17
18 imagefile=$1
19
20 if [ ! -e "$imagefile" ]; then
21   echo "$imagefile not found"
22   exit 1
23 fi
24
25 imagefile=$(echo $imagefile | sed 's/ /%20/g')
26
27 prefix="/org/gnome/shell/theme"
28 dest="/usr/local/share/gnome-shell/theme/focalgdm3"
29
30 install -D /dev/null $dest/gdm3.css
31 install -D /dev/null $dest/focalgdm3.gresource.xml
32 install -d $dest/icons/scalable/actions
33
34 gresource extract $source $prefix/gdm3.css > $dest/original.css
35 gresource extract $source $prefix/checkbox.svg > $dest/checkbox.svg
36 gresource extract $source $prefix/checkbox-off.svg > $dest/checkbox-off.svg
37 gresource extract $source $prefix/checkbox-focused.svg > $dest/checkbox-focused.svg
38 gresource extract $source $prefix/checkbox-off-focused.svg > $dest/checkbox-off-focused.svg
39 gresource extract $source $prefix/toggle-on.svg > $dest/toggle-on.svg
40 gresource extract $source $prefix/toggle-off.svg > $dest/toggle-off.svg
41 gresource extract $source $prefix/icons/scalable/actions/pointer-drag-symbolic.svg > $dest/icons/scalable/actions/pointer-drag-symbolic.svg
42 gresource extract $source $prefix/icons/scalable/actions/keyboard-enter-symbolic.svg > $dest/icons/scalable/actions/keyboard-enter-symbolic.svg
43 gresource extract $source $prefix/icons/scalable/actions/keyboard-hide-symbolic.svg > $dest/icons/scalable/actions/keyboard-hide-symbolic.svg
44 gresource extract $source $prefix/icons/scalable/actions/pointer-secondary-click-symbolic.svg > $dest/icons/scalable/actions/pointer-secondary-click-symbolic.svg
45 gresource extract $source $prefix/icons/scalable/actions/keyboard-shift-filled-symbolic.svg > $dest/icons/scalable/actions/keyboard-shift-filled-symbolic.svg
46 gresource extract $source $prefix/icons/scalable/actions/keyboard-caps-lock-filled-symbolic.svg > $dest/icons/scalable/actions/keyboard-caps-lock-filled-symbolic.svg
47 gresource extract $source $prefix/icons/scalable/actions/pointer-primary-click-symbolic.svg > $dest/icons/scalable/actions/pointer-primary-click-symbolic.svg
48 gresource extract $source $prefix/icons/scalable/actions/keyboard-layout-filled-symbolic.svg > $dest/icons/scalable/actions/keyboard-layout-filled-symbolic.svg
49 gresource extract $source $prefix/icons/scalable/actions/eye-not-looking-symbolic.svg > $dest/icons/scalable/actions/eye-not-looking-symbolic.svg
50 gresource extract $source $prefix/icons/scalable/actions/pointer-double-click-symbolic.svg > $dest/icons/scalable/actions/pointer-double-click-symbolic.svg
51 gresource extract $source $prefix/icons/scalable/actions/eye-open-negative-filled-symbolic.svg > $dest/icons/scalable/actions/eye-open-negative-filled-symbolic.svg
52
53 echo '@import url("resource:///org/gnome/shell/theme/original.css");
54   #lockDialogGroup {
55   background: '$color' url(file://'$imagefile');
56   background-repeat: no-repeat;
57   background-size: cover;
58   background-position: center; }' > $dest/gdm3.css
59
60 echo '<?xml version="1.0" encoding="UTF-8"?>
61 <gresources>
62   <gresource prefix="/org/gnome/shell/theme">
63     <file>original.css</file>
64     <file>gdm3.css</file>
65     <file>toggle-off.svg</file>
66     <file>checkbox-off.svg</file>
67     <file>toggle-on.svg</file>
68     <file>checkbox-off-focused.svg</file>
69     <file>checkbox-focused.svg</file>
70     <file>checkbox.svg</file>
71     <file>icons/scalable/actions/pointer-drag-symbolic.svg</file>
72     <file>icons/scalable/actions/keyboard-enter-symbolic.svg</file>
73     <file>icons/scalable/actions/keyboard-hide-symbolic.svg</file>
74     <file>icons/scalable/actions/pointer-secondary-click-symbolic.svg</file>
75     <file>icons/scalable/actions/keyboard-shift-filled-symbolic.svg</file>
76     <file>icons/scalable/actions/keyboard-caps-lock-filled-symbolic.svg</file>
77     <file>icons/scalable/actions/pointer-primary-click-symbolic.svg</file>
78     <file>icons/scalable/actions/keyboard-layout-filled-symbolic.svg</file>
79     <file>icons/scalable/actions/eye-not-looking-symbolic.svg</file>
80     <file>icons/scalable/actions/pointer-double-click-symbolic.svg</file>
81     <file>icons/scalable/actions/eye-open-negative-filled-symbolic.svg</file>
82   </gresource>
83 </gresources>' > $dest/focalgdm3.gresource.xml
84
85 cd $dest
86
87 glib-compile-resources focalgdm3.gresource.xml
88
89 mv focalgdm3.gresource ..
90
91 rm -r $dest
92
93 update-alternatives --quiet --install /usr/share/gnome-shell/gdm3-theme.gresource gdm3-theme.gresource /usr/local/share/gnome-shell/theme/focalgdm3.gresource 0
94 update-alternatives --quiet --set gdm3-theme.gresource /usr/local/share/gnome-shell/theme/focalgdm3.gresource
95
96 check=$(update-alternatives --query gdm3-theme.gresource | grep Value | grep /usr/local/share/gnome-shell/theme/focalgdm3.gresource >/dev/null && echo "pass" || echo "fail")
97
98 if [ "$check" == "pass" ]; then
99   echo "Success"
100   exit 0
101 else
102   echo "Failure"
103   exit 1
104 fi