Skip to content

Commit

Permalink
Update readme with new instructions (#86)
Browse files Browse the repository at this point in the history
- Separate build and runtime dependency
- Add meson build dependencies
- Update manual installation instructions
- Update build instructions with meson
- Add translation instructions
- Update instructions for devs
  • Loading branch information
hsbasu authored Oct 20, 2024
1 parent 14725fd commit fc9c0b6
Showing 1 changed file with 107 additions and 34 deletions.
141 changes: 107 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,42 @@

Very simple Python3-based GUI application to set different theme colour and mode (dark/light) variants on linux.


## Contents
- [Download Latest Version](#download-latest-version)
- [Stores/Ubuntu Private Archive](#storesubuntu-private-archive)
- [Github Releases](#github-releases)
- [Features and Screenshots](#features-and-screenshots)
- [Dependencies](#dependencies)
- [Build Dependencies](#build-dependencies)
- [Runtime Dependencies](#runtime-dependencies)
- [Debian/Ubuntu based systems](#debianubuntu-based-distro)
- [Other Linux-based systems](#other-linux-based-distro)
- [Installation](#installation)
- [1. Download and install binary files](#1-download-and-install-binary-files)
- [2. Build and Install from source](#2-build-and-install-from-source)
- [Debian/Ubuntu based systems](#debianubuntu-based-systems)
- [Other Linux-based systems](#other-linux-based-systems)
- [User Manual](#user-manual)
- [Issue Tracking and Contributing](#issue-tracking-and-contributing)
- [For Developers](#for-developers)
- [Translation](#translation)
- [Contributors](#contributors)
- [Authors](#author)

## Download Latest Version

### Stores/Ubuntu Private Archive
Add the Launchpad PPA
```$
sudo add-apt-repository ppa:mamolinux/gui-apps
sudo apt update
sudo apt install theme-manager
```

### Github Releases
Get the debian package archive from GitHub. For installation, check [here](#installation).

<p align="center">
<a href="https://github.com/mamolinux/theme-manager/zipball/master">Download Source (.zip)</a></br>
<a href="https://github.com/mamolinux/theme-manager/tarball/master">Download Source (.tar.gz)</a></br>
Expand All @@ -52,25 +87,24 @@ The main purpose of this application is to randomly choose and set a desktop the
<img src="https://github.com/mamolinux/theme-manager/raw/gh-pages/screenshots/main-window-dark.png" alt="Main Window (Dark)">
</p>


## Contents
- [Download Latest Version](#download-latest-version)
- [Features and Screenshots](#features-and-screenshots)
- [Dependencies](#dependencies)
- [Debian/Ubuntu based systems](#debianubuntu-based-distro)
- [Other Linux-based systems](#other-linux-based-distro)
- [Installation](#build-and-install-the-latest-version)
- [Debian/Ubuntu based systems](#debianubuntu-based-systems)
- [Other Linux-based systems](#other-linux-based-systems)
- [For Developers](#for-developers)
- [User Manual](#user-manual)
- [Issue Tracking and Contributing](#issue-tracking-and-contributing)
- [Contributors](#contributors)
- [Authors](#author)

## Dependencies
### Build Dependencies
The following dependencies are required to build **Theme Manager**.
```$
gettext
desktop-file-utils
libglib2.0-bin
libgtk-4-bin
meson
python3
python3-sphinx
python3-sphinx-argparse
```
### Runtime Dependencies
The following dependencies are required to run **Theme Manager**.
```$
gir1.2-appindicator3-0.1
gir1.2-gtk-3.0
python3
python3-configobj
python3-gi
Expand All @@ -93,30 +127,49 @@ Replace `apt install` in the command given in [Debian/Ubuntu based distros](#deb

**Note**: There might be cases where one or more dependencies might not be available for your system. But that is highly unlikely. In such situations, please [create an issue](#issue-tracking-and-contributing).

## Build and Install the Latest Version
### Debian/Ubuntu based systems
## Installation
There are two ways, this app can be installed on a Debian/Ubuntu based system.

### 1. Download and install binary files
Download the latest binary .deb files from [here](https://github.com/mamolinux/theme-manager/releases/latest). Then install the GUI Frontend from terminal as
```$
sudo dpkg -i theme-manager*.deb
sudo apt install -f
```

### 2. Build and Install From Source
If you are having trouble installing the pre-built binary, build them from source.

#### Debian/Ubuntu based systems
There are two methods, this app can be installed/used on a Debian/Ubuntu based system. First, download and unzip the source package using:
```
wget https://github.com/mamolinux/theme-manager/archive/refs/heads/master.zip
unzip master.zip
cd theme-manager-master
```

1. **Option 1:** Manually copying necessary files to root (`/`). For that, follow the steps below:
1. [**Optional**] [**In Progress**] To make translations/locales in languages other than **English**, run:
1. **Option 1:** Manually copying necessary files. For that, follow the steps below:
1. Install python package sources using `meson`:
```
make
rm -rf builddir
meson setup -Dprefix=$HOME/.local builddir
meson compile -C builddir --verbose
meson install -C builddir
```
from the `theme-manager-master` in a terminal. It will create the translations/locales in `usr/share/locale`.

2. Install python package using `pip3`:
It will install all files under `/home/<yourusername>/.local`. To **remove** the locally (`/home/<yourusername>/.local`) installed files, run:
```
sudo pip3 install .
ninja uninstall -C builddir
```
It will install all files under `/usr/local/`
3. Compile `schemas` using:
2. To manually install for all users:
```
sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas
rm -rf builddir
meson setup builddir
meson compile -C builddir --verbose
sudo meson install -C builddir
```
This step requires **Administrative Privilege**. So, be careful before using this. To **remove** the installed files, run:
```
sudo ninja uninstall -C builddir
```

2. **Option 2:** Build a debian package and install it. To build a debian package on your own:
Expand All @@ -137,21 +190,41 @@ After it is installed, run `theme-manager` from terminal or use the `theme-manag
1. Install the [dependencies](#other-linux-based-distro).
2. From instructions for [Debian/Ubuntu based systems](#debianubuntu-based-systems), follow **Option 1**.

## User Manual

### For Developers
Instructions for devs are coming soon or create a [PR](https://github.com/mamolinux/theme-manager/compare).

**I have no knowledge on how to use `meson` or `npm` for testing. If you can offer any help regarding this, please start a discussion [here](https://github.com/mamolinux/theme-manager/discussions) or create a [PR](https://github.com/mamolinux/theme-manager/compare). It will be more than welcome.**
### Auto Start
Every time Theme Manager starts automatically after PC boots up. It pops up notifications and you see its **Icon** in the system tray. To reveal the other beauties, you can click on the icon. Currently, there are four menus: **Next Theme**, **Show Logs**, **About** and **Quit**. In case, if Theme Manager doesn't start automatically, please open an [issue](#issue-tracking-and-contributing). We would like to debug the issue and help you.

## User Manual
Coming Soon or create a PR.
To use Theme Manager, please, search for Theme Manager launcher in the menu entries and simply click on it. Setup the themes and accent colours on the settings page and click **Randomize**.

## Issue Tracking and Contributing
If you are interested to contribute and enrich the code, you are most welcome. You can do it by:
1. If you find a bug, to open a new issue with details: [Click Here](https://github.com/mamolinux/theme-manager/issues)

2. If you know how to fix a bug or want to add new feature/documentation to the existing package, please create a [Pull Request](https://github.com/mamolinux/theme-manager/compare).

### For Developers
I am managing these apps all by myself during my free time. There are times when I can't contribute for months. So a little help is always welcome. If you want to test **Theme Manager**,
1. Get the source package and unzip it using:
```
wget https://github.com/mamolinux/theme-manager/archive/refs/heads/master.zip
unzip master.zip
cd theme-manager-master
```
2. Make desired modifications.
3. Manually install using [option 2](#2-build-and-install-from-source).
4. Test it by running in debug mode from terminal:
```
theme-manager --verbose
```

### Translation
All translations are done using using [Launchpad Translations](https://translations.launchpad.net/mamolinux). To help translate **Theme Manager** in your favourite language follow these steps:
1. Go to [translations page](https://translations.launchpad.net/mamolinux/trunk/+pots/theme-manager) on Launchpad.
2. Click on the language, you want to translate.
3. Translate strings.
4. Finally, click on **Save & Continue**.**

## Contributors

### Author
Expand Down

0 comments on commit fc9c0b6

Please sign in to comment.