diff --git a/.config/ags/modules/indicators/indicatorvalues.js b/.config/ags/modules/indicators/indicatorvalues.js index f8d08bfc3..a4aef288b 100644 --- a/.config/ags/modules/indicators/indicatorvalues.js +++ b/.config/ags/modules/indicators/indicatorvalues.js @@ -8,7 +8,7 @@ import Indicator from '../../services/indicator.js'; import { MaterialIcon } from '../.commonwidgets/materialicon.js'; const OsdValue = ({ - name, icon, nameSetup = undefined, labelSetup, progressSetup, + name, icon, nameSetup = undefined, labelSetup, progressSetup, iconSetup, extraClassName = '', extraProgressClassName = '', ...rest }) => { @@ -31,7 +31,7 @@ const OsdValue = ({ } }, children: [ - MaterialIcon(icon, 'hugeass', {vpack: 'center'}), + MaterialIcon(icon, 'hugeass', {vpack: 'center', setup: iconSetup}), Box({ vertical: true, className: 'spacing-v-5', @@ -74,7 +74,6 @@ export default (monitor = 0) => { const volumeIndicator = OsdValue({ name: 'Volume', - icon: 'volume_up', extraClassName: 'osd-volume', extraProgressClassName: 'osd-volume-progress', attribute: { headphones: undefined , device: undefined}, @@ -93,7 +92,9 @@ export default (monitor = 0) => { }), labelSetup: (self) => self.hook(Audio, (label) => { const newDevice = (Audio.speaker?.name); - const updateValue = Math.round(Audio.speaker?.volume * 100); + const updateValue = Audio.speaker?.stream?.isMuted + ? 0 + : Math.round(Audio.speaker?.volume * 100); if (!isNaN(updateValue)) { if (newDevice === volumeIndicator.attribute.device && updateValue != label.label) { Indicator.popup(1); @@ -103,12 +104,20 @@ export default (monitor = 0) => { label.label = `${updateValue}`; }), progressSetup: (self) => self.hook(Audio, (progress) => { - const updateValue = Audio.speaker?.volume; + const updateValue = Audio.speaker?.stream?.isMuted + ? 0 + : Audio.speaker?.volume; if (!isNaN(updateValue)) { if (updateValue > 1) progress.value = 1; else progress.value = updateValue; } }), + iconSetup: (self) => self.hook(Audio, (progress) => { + self.label = + Audio.speaker?.stream?.isMuted || !Audio.speaker.volume + ? 'volume_off' + : 'volume_up'; + }), }); return MarginRevealer({ transition: 'slide_down', diff --git a/.config/ags/scripts/color_generation/applycolor.sh b/.config/ags/scripts/color_generation/applycolor.sh index 144ac882b..f1579483e 100755 --- a/.config/ags/scripts/color_generation/applycolor.sh +++ b/.config/ags/scripts/color_generation/applycolor.sh @@ -49,19 +49,16 @@ get_light_dark() { apply_fuzzel() { # Check if template exists - if [ ! -f "scripts/templates/fuzzel/fuzzel.ini" ]; then + if [ ! -f "scripts/templates/fuzzel/fuzzel.theme" ]; then echo "Template file not found for Fuzzel. Skipping that." return fi # Copy template - mkdir -p "$CACHE_DIR"/user/generated/fuzzel - cp "scripts/templates/fuzzel/fuzzel.ini" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini + cp "scripts/templates/fuzzel/fuzzel.theme" "$XDG_CONFIG_HOME"/fuzzel/fuzzel.theme # Apply colors for i in "${!colorlist[@]}"; do - sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini + sed -i "s/{{ ${colorlist[$i]} }}/${colorvalues[$i]#\#}/g" "$XDG_CONFIG_HOME"/fuzzel/fuzzel.theme done - - cp "$CACHE_DIR"/user/generated/fuzzel/fuzzel.ini "$XDG_CONFIG_HOME"/fuzzel/fuzzel.ini } apply_term() { diff --git a/.config/ags/scripts/templates/fuzzel/fuzzel.ini b/.config/ags/scripts/templates/fuzzel/fuzzel.theme similarity index 64% rename from .config/ags/scripts/templates/fuzzel/fuzzel.ini rename to .config/ags/scripts/templates/fuzzel/fuzzel.theme index 47f6abc29..c71fd53a0 100644 --- a/.config/ags/scripts/templates/fuzzel/fuzzel.ini +++ b/.config/ags/scripts/templates/fuzzel/fuzzel.theme @@ -1,8 +1,3 @@ -font=Gabarito -terminal=foot -e -prompt=">> " -layer=overlay - [colors] background={{ $background }}ff text={{ $onBackground }}ff @@ -11,11 +6,3 @@ selection-text={{ $onSurfaceVariant }}ff border={{ $surfaceVariant }}dd match={{ $primary }}ff selection-match={{ $primary }}ff - - -[border] -radius=17 -width=1 - -[dmenu] -exit-immediately-if-empty=yes diff --git a/.config/fuzzel/fuzzel.ini b/.config/fuzzel/fuzzel.ini index 26fe0ad2b..c5fbe7a8b 100644 --- a/.config/fuzzel/fuzzel.ini +++ b/.config/fuzzel/fuzzel.ini @@ -1,18 +1,9 @@ +include="~/.config/fuzzel/fuzzel.theme" font=Gabarito terminal=foot -e prompt=">> " layer=overlay -[colors] -background=1D1011ff -text=F7DCDEff -selection=574144ff -selection-text=DEBFC2ff -border=574144dd -match=FFB2BCff -selection-match=FFB2BCff - - [border] radius=17 width=1 diff --git a/.config/hypr/hyprland/env.conf b/.config/hypr/hyprland/env.conf index bddf37cff..5ce9dedba 100644 --- a/.config/hypr/hyprland/env.conf +++ b/.config/hypr/hyprland/env.conf @@ -17,7 +17,7 @@ env = QT_QPA_PLATFORMTHEME, qt6ct # ######## Screen tearing ######### # env = WLR_DRM_NO_ATOMIC, 1 -# ######## Virtual envrionment ######### +# ######## Virtual environment ######### env = ILLOGICAL_IMPULSE_VIRTUAL_ENV, ~/.local/state/ags/.venv # ############ Others ############# diff --git a/.config/hypr/hyprland/keybinds.conf b/.config/hypr/hyprland/keybinds.conf index 5d3b89ece..6b28095b3 100644 --- a/.config/hypr/hyprland/keybinds.conf +++ b/.config/hypr/hyprland/keybinds.conf @@ -3,10 +3,11 @@ bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden] bindl = Super ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden] -bindl = ,XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden] -bindl = Super+Shift,M, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden] -bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # [hidden] -bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # [hidden] +bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle # [hidden] +bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # [hidden] +bindl = Super+Shift,M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # [hidden] +bindle=, XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # [hidden] +bindle=, XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0 && wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # [hidden] # Uncomment these if you can't get AGS to work #bindle=, XF86MonBrightnessUp, exec, brightnessctl set '12.75+' diff --git a/README.md b/README.md index 0c3a78267..2ae4c3ddb 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,12 @@ ```bash bash <(curl -s "https://end-4.github.io/dots-hyprland-wiki/setup.sh") ``` + + If you are using fish shell (non-posix-compliant shell) then: + ```bash + bash -c "$(curl -s https://end-4.github.io/dots-hyprland-wiki/setup.sh)" + ``` + - **Manual** installation, other distros and more: - See the [Wiki](https://end-4.github.io/dots-hyprland-wiki/en/i-i/01setup/) - (_Available in: English, Vietnamese, and Simplified Chinese. Translations are welcome._) @@ -66,7 +72,7 @@
Help improve these dotfiles - - Try the Quickshell-powered version at [`ii-qs` branch](https://github.com/end-4/dots-hyprland/tree/ii-qs) - It comes with major improvements, and you're free to make suggestions 👉 [#1276](https://github.com/end-4/dots-hyprland/pull/1276) + - You can give feedback/suggestions for the [`ii-qs` branch](https://github.com/end-4/dots-hyprland/tree/ii-qs) in [#1276](https://github.com/end-4/dots-hyprland/pull/1276)
@@ -77,6 +83,8 @@ ## Main branch (*illogical-impulse*) +**Note**: Expect minimal maintenance for the main branch, as I'm already working on and using the new Quickshell version of illogical-impulse at the ii-qs branch. See [#1276](https://github.com/end-4/dots-hyprland/pull/1276). + ### AI ![image](https://github.com/user-attachments/assets/9d7af13f-89ef-470d-ba78-d2288b79cf60) _Sidebar offers online and offline chat. Text selection summary is offline only for privacy._