Compare commits

..

2 commits

Author SHA1 Message Date
Emma Nora Theuer
ce24b34eb1 Update to reflect changes in README.org 2024-06-04 03:26:34 +02:00
Emma Nora Theuer
c98d206ca3 Update instructions for manual packaging. 2024-06-04 03:26:18 +02:00
2 changed files with 88 additions and 55 deletions

View file

@ -30,7 +30,7 @@ Wallman currently has three main features:
*** Gentoo *** Gentoo
This program, as of now, can be installed very easily on gentoo. Just follow these instructions This program, as of now, can be installed very easily on gentoo. Just follow these instructions
#+BEGIN_SRC shell #+BEGIN_SRC shell
git clone https://git.entheuer.de/emma/Dotfiles.git git clone https://git.entheuer.de/emma/Wallman.git
doas eselect repository create wallman doas eselect repository create wallman
doas cp -rf Wallman/distfiles/Gentoo/wallman /var/db/repos/ doas cp -rf Wallman/distfiles/Gentoo/wallman /var/db/repos/
doas emerge -av wallman doas emerge -av wallman
@ -49,16 +49,19 @@ pip install wallman
#+END_SRC #+END_SRC
** Installing manually ** Installing manually
+ Clone this git repo
+ Create a log file and a configuration file:
#+BEGIN_SRC shell #+BEGIN_SRC shell
git clone https://git.entheuer.de/emma/Wallman.git
cd Wallman/
mkdir -p ~/.local/share/wallman mkdir -p ~/.local/share/wallman
mkdir -p ~/.config/wallman mkdir -p ~/.config/wallman
touch ~/.local/share/wallman/wallman.log touch ~/.local/share/wallman/wallman.log
cp sample_config.toml ~/.config/wallman/wallman.toml cp sample_config.toml ~/.config/wallman/wallman.toml
doas cp src/wallman.py /usr/bin/wallman
doas cp src/wallman_lib.py /usr/bin/wallman_lib.py
doas chmod +x /usr/bin/wallman
#+END_SRC #+END_SRC
+ Edit the sample config + Edit the sample config
+ (Optional): Adjust the loglevel to your liking. This will be part of the config or a command line argument soon. + (Optional): Adjust the loglevel in Source Code to your liking.
+ Profit + Profit
* Configuration * Configuration

View file

@ -1,34 +1,38 @@
# Table of Contents # Table of Contents
1. [Overwiev](#org19ef638) 1. [Overwiev](#org2f278b8)
1. [What is this?](#org148aad0) 1. [What is this?](#org388817f)
2. [What can it do?](#org0041bf1) 2. [What can it do?](#org181b8b7)
2. [Installation](#orgc40ee8b) 2. [Installation](#org9472446)
1. [Depedencies](#org2cb62ef) 1. [Depedencies](#org5977b9f)
1. [Always Required](#org0d0b0f7) 1. [Always Required](#org3f4fbec)
2. [Optional](#orgf04ec77) 2. [Optional](#org66e727c)
3. [Build dependencies](#org3951087) 3. [Build dependencies](#org818620a)
2. [Installing with pip](#org24bde1c) 2. [Installing with package Manager](#orgb41bd96)
3. [Installing with package Manager](#org9575c55) 1. [Gentoo](#org135d2b8)
4. [Installing manually](#org2c63e0f) 2. [Arch Linux](#org1d65d77)
3. [Configuration](#org812c501) 3. [Others](#org32866d5)
1. [TOML Dictionaries](#org51e3333) 3. [Installing with pip](#org59bd85f)
1. [general](#org79747a5) 4. [Installing manually](#orgf93bb3e)
2. [changing<sub>times</sub>](#orgc425813) 3. [Configuration](#orgd8c9052)
3. [The other dictionaries](#org9f47b06) 1. [TOML Dictionaries](#org059100a)
4. [TODOs](#orgc26c243) 1. [general](#orge724ab7)
1. [Structuring](#org8dd22d4) 2. [changing<sub>times</sub>](#orgac9b284)
2. [Technical Details](#org6103451) 3. [The other dictionaries](#org2f91798)
3. [Features](#org38d78ba) 4. [TODOs](#orgab8e139)
1. [Structuring](#orga5d5528)
2. [Technical Details](#org8559da1)
3. [Features](#org5a7f88b)
<a id="org19ef638"></a> <a id="org2f278b8"></a>
# Overwiev # Overwiev
<a id="org148aad0"></a> <a id="org388817f"></a>
## What is this? ## What is this?
@ -37,7 +41,7 @@ This version is an early Alpha. As of now, it supports the most important featur
As such, please make absolutely sure you follow the instructions on how to write the config file very closely. I will implement better config handling with more meaningful error output in the future. For now, follow everything really closely and read the logs if needed. If you do that, it *should* work. As such, please make absolutely sure you follow the instructions on how to write the config file very closely. I will implement better config handling with more meaningful error output in the future. For now, follow everything really closely and read the logs if needed. If you do that, it *should* work.
<a id="org0041bf1"></a> <a id="org181b8b7"></a>
## What can it do? ## What can it do?
@ -48,17 +52,17 @@ Wallman currently has three main features:
- Settings Wallpapers at a specific time of the day - Settings Wallpapers at a specific time of the day
<a id="orgc40ee8b"></a> <a id="org9472446"></a>
# Installation # Installation
<a id="org2cb62ef"></a> <a id="org5977b9f"></a>
## Depedencies ## Depedencies
<a id="org0d0b0f7"></a> <a id="org3f4fbec"></a>
### Always Required ### Always Required
@ -67,14 +71,14 @@ Wallman currently has three main features:
- feh (Used for setting the wallpapers, hard dependency) - feh (Used for setting the wallpapers, hard dependency)
<a id="orgf04ec77"></a> <a id="org66e727c"></a>
### Optional ### Optional
- libnotify (for desktop notification support) - libnotify (for desktop notification support)
<a id="org3951087"></a> <a id="org818620a"></a>
### Build dependencies ### Build dependencies
@ -82,54 +86,80 @@ Wallman currently has three main features:
- build - build
<a id="org24bde1c"></a> <a id="orgb41bd96"></a>
## Installing with package Manager
<a id="org135d2b8"></a>
### Gentoo
This program, as of now, can be installed very easily on gentoo. Just follow these instructions
git clone https://git.entheuer.de/emma/Wallman.git
doas eselect repository create wallman
doas cp -rf Wallman/distfiles/Gentoo/wallman /var/db/repos/
doas emerge -av wallman
<a id="org1d65d77"></a>
### Arch Linux
Support for Arch Linux will be added soon.
<a id="org32866d5"></a>
### Others
I will potentially write a version for nixpkgs and will also bundle wallman as a flatpak.
<a id="org59bd85f"></a>
## Installing with pip ## Installing with pip
Wallman is available on PYPI. Simply run: Wallman is available on PyPI. Simply run:
pip install wallman pip install wallman
<a id="org9575c55"></a> <a id="orgf93bb3e"></a>
## Installing with package Manager
Versions in the AUR and an ebuild for Gentoo will be added soon. A flatpak and Nixpkgs version are on the horizon, too.
<a id="org2c63e0f"></a>
## Installing manually ## Installing manually
- Clone this git repo git clone https://git.entheuer.de/emma/Wallman.git
- Create a log file and a configuration file: cd Wallman/
mkdir -p ~/.local/share/wallman mkdir -p ~/.local/share/wallman
mkdir -p ~/.config/wallman mkdir -p ~/.config/wallman
touch ~/.local/share/wallman/wallman.log touch ~/.local/share/wallman/wallman.log
cp sample_config.toml ~/.config/wallman/wallman.toml cp sample_config.toml ~/.config/wallman/wallman.toml
doas cp src/wallman.py /usr/bin/wallman
doas cp src/wallman_lib.py /usr/bin/wallman_lib.py
doas chmod +x /usr/bin/wallman
- Edit the sample config - Edit the sample config
- (Optional): Adjust the loglevel to your liking. This will be part of the config or a command line argument soon. - (Optional): Adjust the loglevel in Source Code to your liking.
- Profit - Profit
<a id="org812c501"></a> <a id="orgd8c9052"></a>
# Configuration # Configuration
This is a short guide on how to correctly configure wallman. Look in the sample config for additional context. This is a short guide on how to correctly configure wallman. Look in the sample config for additional context.
<a id="org51e3333"></a> <a id="org059100a"></a>
## TOML Dictionaries ## TOML Dictionaries
First of all, the config file is structured via different TOML dictionaries. There are two TOML dictionaries: general and changing<sub>times</sub> that must be present in every config. Aside from that, further dictionaries are needed depending on how wallman is configured. You need to create a dictionary with the name of each wallpaper set defined in the used<sub>sets</sub> list (more on that later). You should probably just configure wallman by editing the sample config as it is by far the easiest way to do it. First of all, the config file is structured via different TOML dictionaries. There are two TOML dictionaries: general and changing<sub>times</sub> that must be present in every config. Aside from that, further dictionaries are needed depending on how wallman is configured. You need to create a dictionary with the name of each wallpaper set defined in the used<sub>sets</sub> list (more on that later). You should probably just configure wallman by editing the sample config as it is by far the easiest way to do it.
<a id="org79747a5"></a> <a id="orge724ab7"></a>
### general ### general
@ -147,14 +177,14 @@ In general, you need to always define 3 variables and you can optionally add two
Wallpaper to be set if an error is found in the config. Defaults to None. If none is set and the config is written incorrectly, a ConfigError is raised and the program is exited. If an error in the config occurs but the fallback wallpaper has been defined, it will be set and wallman will exit with Code 1. Wallpaper to be set if an error is found in the config. Defaults to None. If none is set and the config is written incorrectly, a ConfigError is raised and the program is exited. If an error in the config occurs but the fallback wallpaper has been defined, it will be set and wallman will exit with Code 1.
<a id="orgc425813"></a> <a id="orgac9b284"></a>
### changing<sub>times</sub> ### changing<sub>times</sub>
The changing<sub>times</sub> dictionary is used to specify the times of the day when your wallpaper is switched. The names of the keys do not matter here, the values must always be strings in the &ldquo;XX:YY:ZZ&rdquo; 24 hour time system. use 00:00:00 for midnight. Note that XX should be in the range of 00-23 and YY and ZZ should be in the range of 00-59. The changing<sub>times</sub> dictionary is used to specify the times of the day when your wallpaper is switched. The names of the keys do not matter here, the values must always be strings in the &ldquo;XX:YY:ZZ&rdquo; 24 hour time system. use 00:00:00 for midnight. Note that XX should be in the range of 00-23 and YY and ZZ should be in the range of 00-59.
<a id="org9f47b06"></a> <a id="org2f91798"></a>
### The other dictionaries ### The other dictionaries
@ -162,12 +192,12 @@ The other dictionaries must always have the names of the wallpaper sets from use
The keys in the dictionary once again do not matter, the names of the keys in each dictionary must be strings and be absolute paths. They should not include spaces unless prefaced by a backslash. The keys in the dictionary once again do not matter, the names of the keys in each dictionary must be strings and be absolute paths. They should not include spaces unless prefaced by a backslash.
<a id="orgc26c243"></a> <a id="orgab8e139"></a>
# TODOs # TODOs
<a id="org8dd22d4"></a> <a id="orga5d5528"></a>
## Structuring ## Structuring
@ -175,7 +205,7 @@ The keys in the dictionary once again do not matter, the names of the keys in ea
- Add documentation for developers - Add documentation for developers
<a id="org6103451"></a> <a id="org8559da1"></a>
## Technical Details ## Technical Details
@ -185,7 +215,7 @@ The keys in the dictionary once again do not matter, the names of the keys in ea
- Drop the feh dependecy and set wallpapers using pywlroots or python-xlib - Drop the feh dependecy and set wallpapers using pywlroots or python-xlib
<a id="org38d78ba"></a> <a id="org5a7f88b"></a>
## Features ## Features