1
0

6 Commits
1 ... 2

Author SHA1 Message Date
358968327d version 2 maybe? 2020-04-17 15:52:01 +12:00
b96074afe0 make stuffs bigger! 2020-04-15 16:06:30 +12:00
e2afd229a6 center log in button 2020-04-14 15:43:05 +12:00
5b9a369114 setttings button visually added along with other cosmetic changes 2020-04-13 16:03:00 +12:00
43c0b96405 stop hard coding the sed path 2020-03-26 12:06:05 +13:00
48ff1a671e removed default text for message_label 2020-03-22 22:32:51 +13:00
4 changed files with 86 additions and 29 deletions

View File

@@ -4,7 +4,7 @@ DATADIR ?= $(PREFIX)/share
CONFDIR = /etc CONFDIR = /etc
install: install:
sed "s/%DATADIR%/\/usr\/share/" lightdm-mobile-greeter.py > lightdm-mobile-greeter sed "s#%DATADIR%#$(DATADIR)#" lightdm-mobile-greeter.py > lightdm-mobile-greeter
install -Dm755 lightdm-mobile-greeter -t $(DESTDIR)$(BINDIR) install -Dm755 lightdm-mobile-greeter -t $(DESTDIR)$(BINDIR)
install -Dm644 style.css interface.ui -t $(DESTDIR)$(DATADIR)/lightdm-mobile-greeter install -Dm644 style.css interface.ui -t $(DESTDIR)$(DATADIR)/lightdm-mobile-greeter
install -Dm644 lightdm-mobile-greeter.desktop -t $(DESTDIR)$(DATADIR)/xgreeters install -Dm644 lightdm-mobile-greeter.desktop -t $(DESTDIR)$(DATADIR)/xgreeters

View File

@@ -17,13 +17,14 @@
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="halign">center</property> <property name="halign">center</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="spacing">12</property> <property name="spacing">12</property>
<child> <child>
<object class="GtkLabel" id="prompt_label"> <object class="GtkLabel" id="prompt_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label">prompt label</property> <property name="label">prompt label</property>
<style>
<class name="prompt" />
</style>
</object> </object>
</child> </child>
<child> <child>
@@ -40,6 +41,9 @@
<property name="caps_lock_warning">False</property> <property name="caps_lock_warning">False</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<style>
<class name="pin" />
</style>
</object> </object>
</child> </child>
<child> <child>
@@ -53,6 +57,7 @@
<property name="only_digits">True</property> <property name="only_digits">True</property>
<property name="show_symbols">False</property> <property name="show_symbols">False</property>
<property name="right_action">delete_btn</property> <property name="right_action">delete_btn</property>
<property name="left_action">settings_btn</property>
<property name="entry">pin_entry</property> <property name="entry">pin_entry</property>
<style> <style>
<class name="keypad"/> <class name="keypad"/>
@@ -60,26 +65,19 @@
</object> </object>
</child> </child>
<child> <child>
<object class="GtkBox"> <object class="GtkButton">
<property name="visible">True</property> <property name="visible">True</property>
<child> <property name="label">Login</property>
<object class="GtkButton"> <signal name="clicked" handler="login_cb"/>
<property name="visible">True</property> <style>
<property name="label">Login</property> <class name="login_btn"/>
<signal name="clicked" handler="login_cb"/> </style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
</packing>
</child>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkLabel" id="message_label"> <object class="GtkLabel" id="message_label">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label">message label</property> <property name="label"></property>
</object> </object>
</child> </child>
</object> </object>
@@ -99,7 +97,25 @@
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="icon_name">edit-clear-symbolic</property> <property name="icon_name">edit-clear-symbolic</property>
<property name="icon_size">6</property>
</object> </object>
</child> </child>
</object> </object>
<object class="GtkButton" id="settings_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus-on-click">False</property>
<signal name="clicked" handler="de_popover"/>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="icon_name">applications-system-symbolic</property>
<property name="icon_size">6</property>
</object>
</child>
</object>
<object class="GtkPopover" id="de_select">
<property name="relative_to">settings_btn</property>
<property name="position">GTK_POS_RIGHT</property>
</object>
</interface> </interface>

View File

@@ -20,9 +20,28 @@ class Handler:
self.greeter.connect("show-prompt", self.show_prompt) self.greeter.connect("show-prompt", self.show_prompt)
self.pmpt_label = builder.get_object("prompt_label") self.pmpt_label = builder.get_object("prompt_label")
self.msg_label = builder.get_object("message_label") self.msg_label = builder.get_object("message_label")
self.de_select = builder.get_object("de_select")
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, visible=True)
self.de_select.add(vbox)
self.greeter.connect_sync() self.greeter.connect_sync()
self.conf = Config() self.conf = Config()
self.greeter.authenticate(self.conf.user) self.greeter.authenticate(self.conf.user)
self.session = self.greeter.get_default_session_hint()
sessions = iter([(s.get_name(), s.get_key()) for s in LightDM.get_sessions()])
name, key = sessions.__next__()
first = Gtk.RadioButton.new_with_label(None, name)
first.connect("toggled", self.session_change, key)
vbox.add(first)
for name, key in sessions:
rb = Gtk.RadioButton.new_with_label_from_widget(first, name)
rb.connect("toggled", self.session_change, key)
vbox.add(rb)
if self.session == key:
rb.set_active(True)
vbox.show_all()
def session_change(self, rb, key):
self.session = key
def on_destry(self, window): def on_destry(self, window):
Gtk.main_quit() Gtk.main_quit()
@@ -39,7 +58,7 @@ class Handler:
def auth_complete(self, greeter): def auth_complete(self, greeter):
if greeter.get_is_authenticated(): if greeter.get_is_authenticated():
greeter.start_session_sync(None) greeter.start_session_sync(self.session)
else: else:
greeter.authenticate(self.conf.user) greeter.authenticate(self.conf.user)
@@ -49,6 +68,9 @@ class Handler:
def show_prompt(self, greeter, text, type): def show_prompt(self, greeter, text, type):
self.pmpt_label.set_text(text) self.pmpt_label.set_text(text)
def de_popover(self, settings_btn):
self.de_select.popup()
Handy.Keypad() Handy.Keypad()
builder: Gtk.Builder = Gtk.Builder.new_from_file( builder: Gtk.Builder = Gtk.Builder.new_from_file(

View File

@@ -5,21 +5,15 @@ window * {
text-decoration: none; text-decoration: none;
} }
button {
border: none;
border-radius: 20em;
}
window { window {
background-color: black; background-color: black;
} }
button {
border: 0;
background: none;
outline-style: dashed;
margin: 0;
border-width: 2px;
padding: 16px 36px;
}
.keypad button {
padding: 16px 16px;
}
label { label {
font-weight: bold; font-weight: bold;
} }
@@ -32,3 +26,28 @@ button:active {
button:active label { button:active label {
color: black; color: black;
} }
hdykeypad > button label{
font-size: 5em;
font-weight: bold;
padding: 10px;
}
.login_btn > label {
font-size: 2em;
background-clip: padding-box;
padding: 0.5em;
}
.pin, .prompt {
font-size: 2em;
}
popover {
background-color: black;
font-size: 2em;
}
popover radiobutton {
padding: 1em;
}