Skip to content
Shubham Singh edited this page Dec 9, 2024 · 24 revisions

wallrizz

WallRizz is terminal based wallpaper and system theme manager for linux.



 Install 

 Setup 

 Usage 

 Extensions 


 Wallpapers 

 Contribution 



Workflow Overview

graph TD
  A[Input: Wallpapers Directory Path] 
  A --> B[Cache Wallpapers using ImageMagick]

  %% Parallel Wallpaper Caching
  B --> C1[Cache Wallpaper 1]
  B --> C2[Cache Wallpaper 2]
  B --> C3[Cache Wallpaper 3]
  C1 --> D1[Cached Wallpaper 1 Ready for Processing]
  C2 --> D2[Cached Wallpaper 2 Ready for Processing]
  C3 --> D3[Cached Wallpaper 3 Ready for Processing]

  %% Parallel Color Extraction
  D1 --> E1[Extract and Cache Colors from Cached Wallpaper 1]
  D2 --> E2[Extract and Cache Colors from Cached Wallpaper 2]
  D3 --> E3[Extract and Cache Colors from Cached Wallpaper 3]
  E1 --> F[Load List of Extension Scripts from ~/.config/WallRizz/themeExtensionScripts/]
  E2 --> F
  E3 --> F

  %% Parallel Theme Configuration Generation
  F --> G[Generate Theme Configurations using getDarkThemeConf and getLightThemeConf with Cached Hex Colors]
  G --> H1[Call Functions from Theme Extension Script 1]
  G --> H2[Call Functions from Theme Extension Script 2]
  G --> H3[Call Functions from Theme Extension Script 3]
  H1 --> I1[Functions Return Theme Configurations for Application 1]
  H2 --> I2[Functions Return Theme Configurations for Application 2]
  H3 --> I3[Functions Return Theme Configurations for Application 3]

  %% Cache and Display Grid
  I1 --> J[Cache All Theme Configurations]
  I2 --> J
  I3 --> J
  J --> K[Display Grid UI with Cached Wallpapers in Terminal]

  %% User Selection
  K --> L[User Interacts with Grid and Selects Wallpaper]

  %% Set Wallpaper
  L --> M[Set Wallpaper using setWallpaper Function from ~/.config/WallRizz/]
  M --> N[System's Wallpaper Updated with Selected File Path]

  %% Parallel Theme Application
  L --> O[Apply Themes by Calling setTheme Functions with Corresponding Cached Theme Configuration Paths]
  O --> P1[Call setTheme for Application 1]
  O --> P2[Call setTheme for Application 2]
  O --> P3[Call setTheme for Application 3]
  P1 --> Q1[Theme Applied for Application 1]
  P2 --> Q2[Theme Applied for Application 2]
  P3 --> Q3[Theme Applied for Application 3]

  %% Finish
  N --> R[Wallpaper and Themes Updated]
  Q1 --> R
  Q2 --> R
  Q3 --> R

Loading
Clone this wiki locally