Package for devuan: logout-manager

Tl;dr

Install logout-manager (dpkg)

Introduction

Logout manager is now ready for release! This project is intended for lightweight window managers (WMs) or desktop environments (DEs) that do not include a nice logout screen.
This program has an important dependency:

  1. sudo: Because I’m not interested in using dbus and I barely know what I’m doing, I just have my package install a sudoers rule set, which could easily be adapted for a distro or release by just allowing only users approved for local console access to be able to run the commands in question.
# File: /etc/sudoers.d/30_logout-manager_sudo
Defaults env_keep += "DRYRUN VERBOSE"
ALL ALL = (root) NOPASSWD: /usr/libexec/logout-manager/lm-helper *

Features

Dynamic hibernate-ability detection. The button will be disabled for the front ends that have that ability.

Front ends

Multiple front-ends. You can use a symlink, or the Debian alternatives system to choose which frontend sits at /usr/bin/logout-manager.

gtk

This is the main front end.

All front-ends do use the gtk3 icon resolution methodology. In the config file, you can either use the common icon names, like “system-log-out,” or you can pass full path names to icons.

ncurses

Because some people like all-text. But then, you probably have other methods to invoke these commands already. This option was added for the sake of completeness, and as a learning experience for myself.

tcl

This feature exists for the hard-core types who don’t even like GTK. Also, I think I am the first person on the Internet to want to load svg graphics in python3 tkinter.

The icon resolution is not as robust in tcl, and the project does not currently bundle any icons of its own.

Tray icon

Also included is a system tray icon! If your panel does not include a quick menu for logout-style actions, you can run “logout-manager-trayicon” in your WM startup list. Right-click to get the menu, or double-click to run “logout-manager.” This tool is not related to any of the other executable files and is not necessary for the others to function.

Sources

Check out the entire source on my gitlab. Download the dpkg for Devuan (and should work on Debian) from my repository at the Open Build Service. You can also see the build assets at the OBS.

Auxiliary information

Project goals

  • Be a learning experience and template for future work. I’ve never worked in tcl/tk (the python3 tkinter library) or ncurses before. One branch now even uses the XApp.StatusIcon instead of the Gtk.StatusIcon (as described in August 2019 Linux Mint blog post)
  • Provide a distro-independent, window-manager independent menu for logout options. I intend to provide desktop support to non-technical users and they will expect such a set of buttons.
  • Avoid dependencies on projects such as dbus, pulseaudio (not relevant here), consolekit, systemd, etc.

2 thoughts on “Package for devuan: logout-manager

    • Often, for myself, I end up making scripts and attaching them to icons in JWM or straight up x. So I can see this as something I would use on several implementations that I have.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.