# Needed Colours - accent_colour_1 - accent_colour_2 - accent_colour_3 - primary_colour - background_colour - shadow_colour - inactive_colour # TODO - [ ] Astal - [ ] Bar - [x] Notifications - [ ] Quick controls - [ ] Wlogout replacement - [ ] Media controls - [ ] AppLauncher (possibly, if anyrun is no good) - [ ] OSD (see [here](https://github.com/Aylur/astal/tree/main/examples/gtk3/js)) - [ ] Text recognition - [ ] Theming - [ ] Vivado dark mode - [ ] GTK - [ ] QT - [ ] Librewolf - [ ] Astal - [ ] Hyprland - [ ] Rofi - [ ] nvim - [x] yazi - [x] kitty - [ ] DisplayManager - [ ] Cursor (maybe stick with oreo cursor, or otherwise find good replacement) - [ ] Rofi - [ ] Spotlight-Search (or replace with anyrun) - [ ] Wallpaper selector (that automatically triggers the theming script) - [ ] Hyprland - [ ] Keybinds: Resize window, move window, open calculator, plus more programs - [ ] Read docs - [ ] battery management - [ ] Programs - [ ] New image viewer (eog) - [ ] Other pdf reader (maybe -> zathura) - [ ] Maybe TUI archive manager (felix-rs) - [ ] Lazygit: Configure - [x] Nvim (other repo) - [x] Replace notification handler (noice) - [ ] Yazi - [ ] More keybinds - [ ] Configure - [ ] Drag and drop support? - [ ] Check out plugins - [ ] SDDM - [ ] Replace with LightDM or ensure theming works, but prefer replacing - [ ] Scripts - [ ] Installer (after the basic OS setup is done (= from chroot onwards)) - [ ] Theming script - [ ] Installer for configs - [ ] Vivado cleanup (run after vivado and hope vivado is blocking (or simply execute vivado in /tmp)) - [ ] migrate to zoxide from autojump Using astal (https://aylur.github.io/astal, which is gjs based), write a component that takes as argument a UIComponent array (pre-defined interface) and depending on what subclass of that interface it is renders a different component for each element. I have the type definitions of UIComponent below. The possible subclasses are LargeUIComponent, MediumUIComponent, ListUIComponent and CalculationUIComponent. Design-wise, I would like to have something similar to GNOME's layout.