def get_indicator(self):
        options = self._options

        name = self._option_type.value
        options[Option.Name] = name

        options[Option.Layout] = set()
        if name not in EmptyIndicators:
            if self._option_text.enabled:
                options[Option.Text] = self._option_text.value or None
                options[Option.Layout].add(LayoutSet.Text)
            if self._option_image.enabled:
                options[Option.Image] = self._option_image.value or None
                options[Option.Layout].add(LayoutSet.Image)
            if self._option_text.enabled and self._option_image.enabled and self._reversed:
                options[Option.Layout].add(LayoutSet.Reversed)

        if LayoutSet.Text not in options[Option.Layout] and Option.Text in options:
            del options[Option.Text]
        if LayoutSet.Image not in options[Option.Layout] and Option.Image in options:
            del options[Option.Image]

        if name == Indicators.External:
            options[Option.Path] = self._option_path.value
        else:
            options.pop(Option.Path, None)

        if name == Indicators.Power and string2bool(self._option_hide_disabled.value):
            options[Option.HideDisabled] = None
        elif Option.HideDisabled in options:
            options.pop(Option.HideDisabled, None)

        return options
 def on_entry_changed_greeter_allow_debugging(self, entry):
     gtk_version = Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION, Gtk.MICRO_VERSION
     minimal_version = 3, 14, 0
     if gtk_version < minimal_version and string2bool(entry.value):
         entry.error = C_('option|greeter|allow-debugging',
                          'GtkInspector is not available on your system\n'
                          'Gtk version: {current} < {minimal}').format(
             current=gtk_version, minimal=minimal_version)
     else:
         entry.error = None
示例#3
0
 def on_entry_changed_greeter_allow_debugging(self, entry):
     gtk_version = Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION, Gtk.MICRO_VERSION
     minimal_version = 3, 14, 0
     if gtk_version < minimal_version and string2bool(entry.value):
         entry.error = C_(
             'option|greeter|allow-debugging',
             'GtkInspector is not available on your system\n'
             'Gtk version: {current} < {minimal}').format(
                 current=gtk_version, minimal=minimal_version)
     else:
         entry.error = None
def main():
    import argparse
    import locale
    import os

    from gi.repository import Gtk
    from lightdm_gtk_greeter_settings import helpers
    from lightdm_gtk_greeter_settings import GtkGreeterSettingsWindow
    from lightdm_gtk_greeter_settings.GtkGreeterSettingsWindow import WindowMode

    locale.textdomain('lightdm-gtk-greeter-settings')

    parser = argparse.ArgumentParser(description='LightDM Gtk+ Greeter settings editor')
    parser.add_argument('-s', '--socket-id', action='store', help='Settings manager socket')
    parser.add_argument('--use-gtk-header', action='store_const', const=True,
                        help='Use GtkHeaderBar')
    parser.add_argument('--test-socket', action='store_const', const=True)
    args = parser.parse_args()

    if args.test_socket:
        w = Gtk.Window()
        w.props.title = 'Testing embedded mode'
        socket = Gtk.Socket.new()
        w.add(socket)
        w.show_all()
        args.socket_id = socket.get_id()

    try:
        socket_id = int(args.socket_id or '')
    except ValueError:
        socket_id = None

    if socket_id:
        window = GtkGreeterSettingsWindow.GtkGreeterSettingsWindow(WindowMode.Embedded)
        plug = Gtk.Plug.new(socket_id)
        plug.connect('delete-event', Gtk.main_quit)
        plug.show()
        content = window.builder.get_object('content_box')
        content.reparent(plug)
        Gtk.main()
    else:
        if args.use_gtk_header is None:
            args.use_gtk_header = helpers.string2bool(os.getenv('GTK_CSD'), False)
        elif args.use_gtk_header:
            os.putenv('GTK_CSD', '1')

        window_mode = WindowMode.Default
        if args.use_gtk_header:
            window_mode = WindowMode.GtkHeader

        window = GtkGreeterSettingsWindow.GtkGreeterSettingsWindow(mode=window_mode)
        window.show()
        Gtk.main()
    def get_indicator(self):
        options = self._options

        name = self._option_type.value
        options[Option.Name] = name

        options[Option.Layout] = set()
        if name not in EmptyIndicators:
            if self._option_text.enabled:
                options[Option.Text] = self._option_text.value or None
                options[Option.Layout].add(LayoutSet.Text)
            if self._option_image.enabled:
                options[Option.Image] = self._option_image.value or None
                options[Option.Layout].add(LayoutSet.Image)
            if self._option_text.enabled and self._option_image.enabled and self._reversed:
                options[Option.Layout].add(LayoutSet.Reversed)

        if LayoutSet.Text not in options[
                Option.Layout] and Option.Text in options:
            del options[Option.Text]
        if LayoutSet.Image not in options[
                Option.Layout] and Option.Image in options:
            del options[Option.Image]

        if name == Indicators.External:
            options[Option.Path] = self._option_path.value
        else:
            options.pop(Option.Path, None)

        if name == Indicators.Power and string2bool(
                self._option_hide_disabled.value):
            options[Option.HideDisabled] = None
        elif Option.HideDisabled in options:
            options.pop(Option.HideDisabled, None)

        return options
示例#6
0
def main():
    import argparse
    import locale
    import os

    from gi.repository import Gtk
    from lightdm_gtk_greeter_settings import helpers
    from lightdm_gtk_greeter_settings import GtkGreeterSettingsWindow
    from lightdm_gtk_greeter_settings.GtkGreeterSettingsWindow import WindowMode

    locale.textdomain('lightdm-gtk-greeter-settings')

    parser = argparse.ArgumentParser(
        description='LightDM Gtk+ Greeter settings editor')
    parser.add_argument('-s',
                        '--socket-id',
                        action='store',
                        help='Settings manager socket')
    parser.add_argument('--use-gtk-header',
                        action='store_const',
                        const=True,
                        help='Use GtkHeaderBar')
    parser.add_argument('--test-socket', action='store_const', const=True)
    args = parser.parse_args()

    if args.test_socket:
        w = Gtk.Window()
        w.props.title = 'Testing embedded mode'
        socket = Gtk.Socket.new()
        w.add(socket)
        w.show_all()
        args.socket_id = socket.get_id()

    try:
        socket_id = int(args.socket_id or '')
    except ValueError:
        socket_id = None

    if socket_id:
        window = GtkGreeterSettingsWindow.GtkGreeterSettingsWindow(
            WindowMode.Embedded)
        plug = Gtk.Plug.new(socket_id)
        plug.connect('delete-event', Gtk.main_quit)
        plug.show()
        content = window.builder.get_object('content_box')
        content.reparent(plug)
        Gtk.main()
    else:
        if args.use_gtk_header is None:
            args.use_gtk_header = helpers.string2bool(os.getenv('GTK_CSD'),
                                                      False)
        elif args.use_gtk_header:
            os.putenv('GTK_CSD', '1')

        window_mode = WindowMode.Default
        if args.use_gtk_header:
            window_mode = WindowMode.GtkHeader

        window = GtkGreeterSettingsWindow.GtkGreeterSettingsWindow(
            mode=window_mode)
        window.show()
        Gtk.main()
示例#7
0
 def _set_value(self, value):
     self._value.props.active = not string2bool(value)
示例#8
0
 def _set_value(self, value):
     self._value.props.active = not string2bool(value)