Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elarun fix #887

Closed
wants to merge 58 commits into from
Closed

Elarun fix #887

wants to merge 58 commits into from

Conversation

kscd
Copy link
Contributor

@kscd kscd commented Sep 11, 2017

The elarun theme is currently broken. When the user selects a session in the ComboBox widget the selected entry will be ignored, but the selected entry from a not-visible Menu widget will be used.

In this patch the Menu widget gets removed, while the ComboBox widget is used correctly.

This patch fixes issue #868.

Vogtinator and others added 30 commits August 31, 2017 14:59
The X root window uses an "X" as the default cursor. To use a themed one,
it has to be set explicitly, e.g. by QML MouseAreas. For themes which do
not have a MouseArea that spans the entire screen, the "X" cursor would
be visible. By setting a cursor in the root QML object, the themed cursor
will be used by default. (https://bugs.kde.org/show_bug.cgi?id=337083)

[ChangeLog][Greeter] Fix default cursor appearance
[ChangeLog][Themes] Update date and time in the "elarun" theme

Closes: sddm#665
[ChangeLog][Translations] Add Hindi

Signed-off-by: Sanjeev Premi <spremi@ymail.com>
[ChangeLog][Translations] Complete Swedish

Signed-off-by: Kristoffer Grundström <hamnisdude@gmail.com>
By default, QSettings doesn't support non-lating characters in config file.
However, KCM will write background path into theme config file without escape.
That means, we need to read UTF-8 strings.

[ChangeLog][Themes] Support UTF-8 in theme configuration
A better translation for the term "Layout" which corresponds in this
context to "keyboard".

Le "Layout" dans ce contexte correspond à la disposition du clavier.
Ce terme me semble plus parlant que "Configuration" qui est très général.

[ChangeLog][Translations] Improved French translation
to get the fish-specific login environment instead of the catchall /etc/profile environment.
Gnome's keyring stores user keys (eg: wifi passwords) encrypted, and uses
a pam module to unlock them at login.

This patch adds `optional` support for the gnome_keyring pam module, so
Gnome can be launched successfully from SDDM. Without this, Gnome will
ask for the users password again after logging in, the first time it needs
to access the keyring, in order to unlock it.

Other display managers as the Gnome Display Manger [1], LightDM [2] and
Enlightment's Entrance [3] already do this.

[1] https://github.com/GNOME/gdm/blob/master/data/pam-arch/gdm-password.pam
[2] http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view/head:/debian/lightdm.pam
[3] https://git.enlightenment.org/misc/entrance.git/tree/data/entrance

[ChangeLog][Pam] Unlock GNOME keyring on login
Add kwallet-pam support for the plasma5 desktop
Note: It is only working with an empty kwallet password.
If gnome keyring is not installed pam will log an error in the system log.  In order to supress the message a dash in front of the entry is required.
This fixes SDDM crashing if xorg fails to load

[ChangeLog][Auth] Fix crash if Xorg fails to load
* By this the user can decide which session to select for autologin without
  touching priviledged configuration file.
* If session is set in configuration, the behaviour is same as before

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Add Maya theme

Signed-off-by: Sanjeev Premi <spremi@ymail.com>
QT_IM_MODULE is set from a config value, however it currently is only
set in testing mode
Let's have a different setting depending on the display server.

On Wayland we might have a chance to circumvent bad physical size reported
by some screen while on X11 it's harder because we cannot do that from
QPA, hence a user might want to disable HiDPI on X11 and enable it on
Wayland.
…y session

Currently AFAICT the /etc/X11/Xsession script in Ubuntu is expecting 1 and only 1 arguments as the running command, as showed as the following fraction of /etc/X11/Xsession.d/20x11-common_process-args:

```sh
case $# in
  0)
    # No arguments given; use default behavior.
    ;;
  1)
    # One argument given; see what it was.
    case "$1" in
      failsafe)
        # Failsafe session was requested.
        if has_option allow-failsafe; then
          if [ -e /usr/bin/x-terminal-emulator ]; then
            if [ -x /usr/bin/x-terminal-emulator ]; then
              exec x-terminal-emulator -geometry +1+1
            else
              # fatal error
              errormsg "unable to launch failsafe X session ---" \
                       "x-terminal-emulator not executable; aborting."
            fi
          else
            # fatal error
            errormsg "unable to launch failsafe X session ---" \
                     "x-terminal-emulator not found; aborting."
          fi
        fi
        ;;
      default)
        # Default behavior was requested.
        ;;
      *)
        # Specific program was requested.
        STARTUP_FULL_PATH=$(/usr/bin/which "${1%% *}" || true)
        if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then
          if [ -x "$STARTUP_FULL_PATH" ]; then
            STARTUP="$1"
          else
            message "unable to launch \"$1\" X session ---" \
                    "\"$1\" not executable; falling back to default session."
          fi
        else
          message "unable to launch \"$1\" X session ---" \
                  "\"$1\" not found; falling back to default session."
        fi
        ;;
    esac
    ;;
  *)
    # More than one argument given; we don't know what to do.
    message "unsupported number of arguments ($#); falling back to default" \
            "session."
    ;;
esac
```

Currently SDDM runs the Xsession script without quoting the second argument, which causes all xsessions that Exec key contains command-line arguments(like Unity(gnome-session --session=ubuntu)) causes Xsession to bail out with message "Xsession: unsupported number of arguments (2); falling back to default session."

This patch fixes the issue by quoting the %2 argument in the SessionCommand.

Signed-off-by: 林博仁 <Buo.Ren.Lin@gmail.com>
Some desktop files have multiple sections, but for now we're only
interested in [Desktop Entry]. Without this patch, every entry was seen
as part of the [Desktop Entry] session, resulting in values getting
overwritten.
They are still read in the autologin case.

Fixes issue sddm#820
Sven Eden and others added 27 commits August 31, 2017 14:59
For users who do not want to run the full systemd suite, but do not
want to patch sddm to use ck-launch-session either, elogind can be
used as an alternative session tracker via its PAM module.
Do not rely on them being implicitly included by other headers; include
errno.h and string.h whenever errno and strerror(3) are used.
The root window is still accessible in some cases, like context menu overlays.
The daemon and the greeter include xcb/xcb.h, but they were relying on xcb's
include directory being implicitly added by the compiler instead of making
sure it was always passed to the compiler.
This commit makes it possible to actually disable Buttons.
Previously they were only displayed as disabled but could still be
triggered.

Signed-off-by: Thomas Preisner <thomas.preisner@fau.de>
Signed-off-by: Milan Stephan <milan.stephan@fau.de>
Our configuration generally consists of user set config options and
distro defined options.

For example, a distro might want to specify a custom theme, but the
user's autostart name can't come from the distro.

Using the same config file leads to problems when upgrading.

This loads configuration from all files in a directory
(/etc/sddm/conf.d) as well as the main config file /etc/sddm.conf
The latter has priority and all writes occur in that file.
xauth gets used to edit the file, so do not truncate the file with
QIODevice::WriteOnly before.
<crypt.h> is part of glibc and other libc implementations, and not available
on systems such as FreeBSD.

We can just drop the include and use <unistd.h> instead, which is the header
POSIX specifies that defines crypt(3).
shadow and getspnam(3) are Linux-specific. Add a check for getspnam(3) to
CMake and only use the shadow functions if they exist, otherwise just use
getpwnam(), which on systems such as FreeBSD already performs the same
things shadow does on Linux.
This monitors for new seats using the standardised seat manager provided by:
systemd, standalone logind, systembsd, consolekit2, or any other implementation.

In none of the myriad of options are available, a single seat, seat0, is created
(which is the current behaviour)
Most desktop environments don't support logging in as the same user
twice, especially with system changes that means the DBUS session bus is
the same.

With this patch if a user tries to log in as a user that is already
logged in we unlock and activate that session rather than creating a new
session.

This behaviour is configurable with a config option. The default matches
the current behaviour.
The user selects the session from with a ComboBox widget but the
selected entry is ignored. Instead the index of a non-visible Menu is
used which can never be changed.
@kscd kscd closed this Sep 11, 2017
@kscd kscd deleted the elarun_fix branch September 11, 2017 13:10
@kscd kscd restored the elarun_fix branch September 11, 2017 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet