Skip to content

Commit

Permalink
Update readme and qt dependency versions
Browse files Browse the repository at this point in the history
  • Loading branch information
m-wynn committed Oct 2, 2017
1 parent 9e09bff commit b856e7a
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 19 deletions.
47 changes: 29 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,34 @@ sddm_wynn theme
A flexible, configurable, material SDDM theme. Most values are configurable via
the theme.conf file.

Features:
- [x] Select user via user picker
- [x] Select user via typing in username (optional)
- [x] Display organization logo instead of user icon (optional)
- [x] Select background image (configuration option)
- [x] Customizable color scheme (configuration option)
- [x] Set default session (configuration option)
- [x] User selects current session via menu
- [x] Select user's session via request to your API (optional)
- [x] Display a configurable usage message to the user (optional)

## Screenshots (some functionality not shown)

![Screenshot](screenshot.png)

## Features

* Select user via user picker
* Select user via typing in username (optional)
* Display organization logo instead of user icon (optional)
* Select background image (configuration option)
* Customizable color scheme (configuration option)
* Set default session (configuration option)
* User selects their preferred session via menu
* Select user's session via request to your API (optional, see below)
* Display a configurable usage message to the user (optional)

## Installation

1. Install sddm
2. `git clone https://github.com/m-wynn/sddm_wynn-theme.git /usr/share/sddm/themes/sddm_wynn-theme`
3. `chmod -R 755 /usr/share/sddm/themes/sddm_wynn-theme`
4. Install qml dependencies (qt5-graphicaleffects and qt5-quickcontrols2)
5. Put "Current=sddm_wynn-theme" in the [Theme] section of /etc/sddm.conf

## Configuration file values

You can create a `theme.conf.user` file which will override the defaults.
You can create a `theme.conf.user` file in the theme folder, which will override
the defaults.

* `default_background`: Path to background image
* `default_session`: Session name to default to. This is the `sessionname` in
Expand All @@ -32,20 +42,21 @@ You can create a `theme.conf.user` file which will override the defaults.
* `accent2_hover`: The color that will be applied on hover to accent2 items
* `logo` (optional): Path to the image that will be placed in the spot usually
filled by a face icon
* `user_name`: `fill` to have the user fill in their own username, or `select`
* `user_name`: `fill` to have the user type in their own username, or `select`
if you would like to provide a menu of users to choose from
* `session_api` (optional): A url which will return the user's preferred
desktop environment (yes, this was made with a very specific use-case in
mind)
mind, see more below)
* `aup` (optional): A string that will contain an Acceptable Use Policy for
your users. Escape characters such as '\n' will render properly (i.e. as
actual newlines).
actual newlines). Alternatively, quote the whole thing and put in real
newlines.

### Session API

The session API value is useful if, for example, you are running a linux lab of
many users, and users can choose a desktop environment to be associated with
their account. This could be done via LDAP and an small API.
their account. As an example, this could be done via LDAP and an small web API.

The greeter theme will read your `session_api` value from the configuration
file, replace `%s` with the username, perform an HTTP `GET` request, and use the
Expand All @@ -58,5 +69,5 @@ For example, if your `session_api` is `http://ldap-api.mylab.com/%s/session/0`
and a user types in their name `m_wynn` into the username box, as soon as they
focus away from the username box, the theme will `GET`
`http://ldap-api.mylab.com/m_wynn/session/0`. If the result is `N`, the
`default_session` will be used. Otherwise, the body of the response is used as
the session name.
`default_session` will be used. Otherwise, the body of the response (i.e.
"cinnamon") is used as the session name.
2 changes: 1 addition & 1 deletion SessionFrame.qml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import QtQuick 2.7
import QtGraphicalEffects 1.0
import QtQuick.Controls 2.1
import QtQuick.Controls 2.0

Item {
id: frame
Expand Down

0 comments on commit b856e7a

Please sign in to comment.