# Hyprland Dotfiles

This repository contains my Hyprland dotfiles, including configurations for Waybar, Kitty, and other related tools.

## Recent Changes and Improvements

This section summarizes the recent modifications made to the Hyprland setup, primarily focusing on integrating and adapting JaKooLit's comprehensive `DarkLight.sh` script for theme management.

### Overview of Changes

The primary goal was to enable reliable dark/light theme switching across Waybar, Kitty, GTK applications, and to resolve specific issues encountered during the setup.

1.  **Waybar Configuration (`~/.config/waybar/configs/[TOP] RAM Default`)**:
    *   Added the `memory` module and `custom/light_dark` module to the `modules-right` section for enhanced system monitoring and theme toggling.

2.  **Waybar Styling (`~/.config/waybar/style.css`)**:
    *   Ensured the "Golden Eclipse" dark theme was active.
    *   Added specific styling and a hover animation for the `memory` module.
    *   Implemented styling for the `custom/light_dark` module to visually integrate the theme toggle.

3.  **Waybar Theme Toggle Script (`~/.config/waybar/scripts/theme-toggle.sh`)**:
    *   **Major Change:** This script was simplified to primarily execute `~/.config/hypr/scripts/DarkLight.sh`. This delegates all comprehensive theme management (Waybar, Kitty, GTK, Kvantum, wallpapers) to JaKooLit's script, ensuring consistency and a single source of truth for theme logic.

4.  **Dark/Light Theme Management Script (`~/.config/hypr/scripts/DarkLight.sh`)**:
    *   **Cleaned Duplication:** Removed a large, duplicated section of code that was causing issues and making modifications difficult.
    *   **Waybar Stability:** Introduced a `sleep 0.5` command after the initial `killall` of applications. This ensures Waybar (and other relevant applications) fully terminate before being restarted, preventing crashes or unexpected behavior during theme transitions.
    *   **Kvantum Manager Suppression:** Commented out the `kvantummanager --set` line. Although the command was redirected to `/dev/null`, it was still unexpectedly launching the Kvantum Manager GUI. Disabling this line prevents the pop-up and improves the user experience.
    *   **Notification Timeout:** Added `-t 5000` (5-second timeout) to all `notify-send` calls. This makes theme-change notifications disappear automatically after a short period, reducing visual clutter and removing the need for manual dismissal.

5.  **Kitty Terminal Configuration (`~/.config/kitty/kitty.conf`)**:
    *   **Reverted Color Overrides:** Explicit `foreground`, `background`, and `cursor` color settings were re-added. This was necessary because `DarkLight.sh` is designed to manage these lines directly via `sed` commands to apply the correct theme colors.

6.  **Hyprland Window Rules (`~/.config/hypr/UserConfigs/WindowRules.conf`)**:
    *   **Alacritty Opacity Fix:** Added a specific `windowrule = opacity 1.0 1.0, class:^(Alacritty)$` to ensure the Alacritty terminal is fully opaque. This overrides a more general `tag:terminal*` transparency rule that was unintentionally affecting Alacritty.

## Installation 🚀

To install these dotfiles and set up your Hyprland environment, follow these steps:

1.  **Clone the repository:**
    ```bash
    git clone https://gitea.ramforth.net/ramforth/hyprland-dots.git ~/.config/hypr
    ```

2.  **Navigate to the dotfiles directory:**
    ```bash
    cd ~/.config/hypr
    ```

3.  **Make the install script executable:**
    ```bash
    chmod +x install.sh
    ```

4.  **Run the installation script:**
    ```bash
    ./install.sh
    ```

    **Important Notes:**
    *   This script assumes you have already installed Hyprland and its core dependencies.
    *   You will need to manually install applications like Waybar, Kitty, etc., using your system's package manager (e.g., `pacman -S hyprland waybar kitty`).
    *   After running the script, it's recommended to reboot your system or log out and back in for all changes to take effect.

## Future Work

*   **Firefox Theming:** Further investigation is needed to ensure Firefox correctly follows the dark/light theme switch managed by `DarkLight.sh`. This is likely related to how `DarkLight.sh` interacts with GTK themes and how Firefox interprets those changes.
*   **NVIDIA Environment Variables:** Review and potentially enable NVIDIA environment variables in `ENVariables.conf` for optimal performance with the NVIDIA RTX 4080.
