A Simple ShutDown Dialog for Openbox written in C using GTK https://blog.kekepower.com/ssdd.html
Go to file
Stig-Ørjan Smelror 65946c76fc Update to version 1.3
- Added `resources.c` and `resources.h` to the `.gitignore` file.
- Modified the `execute_command` function to use `g_spawn_command_line_async` for asynchronous command execution.
- Updated the `show_confirmation_dialog` function to display a GTK dialog with a warning icon and improved layout.
- Added a margin to the buttons in the `create_button` function for better spacing.
- Improved error handling for loading the window icon in the `activate` function.
- Updated README.md with more information about manually compiling ssdd
2024-07-12 08:08:54 +02:00
.gitignore Update to version 1.3 2024-07-12 08:08:54 +02:00
LICENSE Initial commit 2024-06-28 16:23:05 +02:00
Makefile Added Makefile 2024-07-05 10:55:35 +02:00
README.md Update to version 1.3 2024-07-12 08:08:54 +02:00
resources.gresource.xml Rename app from example to ssdd 2024-07-04 08:11:08 +02:00
ssdd-icon.png Reduced size of About image and hence reduced the size of the binary from 199kb to 79kb 2024-07-01 22:34:48 +02:00
ssdd.c Update to version 1.3 2024-07-12 08:08:54 +02:00
ssdd.png Update screenshot 2024-07-12 00:41:05 +02:00

ssdd: Simple Shutdown Dialog for Openbox

A simple Shutdown Dialog for Openbox written in C using GTK

Project Screenshot

Simple Shutdown Dialog (ssdd) is a simple yet stylish shutdown dialog for Openbox, crafted in C using GTK.

Why ssdd?

As a long-time Openbox enthusiast, I've always found the default exit dialog a bit lackluster. Modern systems deserve a more refined shutdown experience. While there are other options out there, I figured one more wouldn't hurt, right?

Inspired by the elegant ssd from Sawfish, I decided to create my own tailored solution for Openbox. This way, you can avoid the hassle of installing extra dependencies and enjoy a sleek shutdown dialog that complements your Openbox setup.

Features

  • Clean and Intuitive Interface: ssdd presents a clear choice between Shutdown, Reboot, Logout, and Exit options.
  • Clean and minimal code: ssdd is built on a clean and minimal codebase, making it easy to maintain, understand, and extend.
  • Lightweight and Efficient: ssdd is designed to be fast and resource-friendly, perfectly suited for Openbox's minimalist philosophy.

Dependencies and Compilation

ssdd requires:

  • GTK+ 3.0
  • Glib 2 development libraries
  • gcc or clang

Easy Compilation

Edit the Makefile or use the following commands:

% make all     # Compile
% sudo make install # Install to /usr/local

Manual compilation

First generate the resources.

% glib-compile-resources resources.gresource.xml --generate-source --target=resources.c
% glib-compile-resources resources.gresource.xml --generate-header --target=resources.h
# Using GCC:
% gcc ssdd.c resources.c -o ssdd `pkg-config --cflags --libs gtk+-3.0`

# Using Clang:
% clang ssdd.c resources.c -o ssdd `pkg-config --cflags --libs gtk+-3.0`

Place the ssdd binary in your $PATH (e.g., ~/bin).

Integrate with Openbox

  1. Edit your Openbox menu:
% sudo nvim /etc/xdg/openbox/menu.xml
  1. Replace the default Exit entry with:
<item label="Log Out"><action name="Execute"><execute>ssdd</execute></action></item>
  1. Reconfigure Openbox:
% openbox --reconfigure

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.