import gi gi.require_version("Gtk", "4.0") gi.require_version("Adw", "1") from gi.repository import Adw, Gtk class UserPage(Adw.Bin): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) clamp = Adw.Clamp() clamp.set_maximum_size(500) self.set_child(clamp) box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box.set_spacing(24) box.set_margin_top(24) box.set_margin_bottom(24) clamp.set_child(box) title = Gtk.Label(label="Create User Account") title.add_css_class("title-1") box.append(title) # Form Group group = Adw.PreferencesGroup() box.append(group) self.fullname_row = Adw.EntryRow() self.fullname_row.set_title("Full Name") group.add(self.fullname_row) self.username_row = Adw.EntryRow() self.username_row.set_title("Username") group.add(self.username_row) self.password_row = Adw.PasswordEntryRow() self.password_row.set_title("Password") group.add(self.password_row) self.confirm_row = Adw.PasswordEntryRow() self.confirm_row.set_title("Confirm Password") group.add(self.confirm_row) # Hostname host_group = Adw.PreferencesGroup() host_group.set_margin_top(12) box.append(host_group) self.hostname_row = Adw.EntryRow() self.hostname_row.set_title("Hostname") self.hostname_row.set_text("iridium-pc") host_group.add(self.hostname_row) # Administrator admin_group = Adw.PreferencesGroup() admin_group.set_margin_top(12) box.append(admin_group) admin_row = Adw.SwitchRow() admin_row.set_title("Make this user administrator") admin_row.set_subtitle("Add to sudoers group") admin_row.set_active(True) admin_group.add(admin_row)