init: copy from Hacmini

This commit is contained in:
Yingjie Wang 2024-09-14 10:42:47 -04:00
commit 1df22c6512
384 changed files with 18925 additions and 0 deletions

142
dotfiles/.bashrc Normal file
View File

@ -0,0 +1,142 @@
# _ _
# | |__ __ _ ___| |__ _ __ ___
# | '_ \ / _` / __| '_ \| '__/ __|
# _| |_) | (_| \__ \ | | | | | (__
# (_)_.__/ \__,_|___/_| |_|_| \___|
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
# ~/.bashrc
# -----------------------------------------------------
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
PS1='[\u@\h \W]\$ '
# Define Editor
export EDITOR=nvim
# -----------------------------------------------------
# ALIASES
# -----------------------------------------------------
alias c='clear'
alias nf='fastfetch'
alias pf='fastfetch'
alias ff='fastfetch'
alias ls='eza -a --icons'
alias ll='eza -al --icons'
alias lt='eza -a --tree --level=1 --icons'
alias shutdown='systemctl poweroff'
alias v='$EDITOR'
alias vim='$EDITOR'
alias ts='~/dotfiles/scripts/snapshot.sh'
alias matrix='cmatrix'
alias wifi='nmtui'
alias od='~/private/onedrive.sh'
alias rw='~/dotfiles/waybar/reload.sh'
alias winclass="xprop | grep 'CLASS'"
alias dot="cd ~/dotfiles"
alias cleanup='~/dotfiles/scripts/cleanup.sh'
# -----------------------------------------------------
# ML4W Apps
# -----------------------------------------------------
alias ml4w='~/dotfiles/apps/ML4W_Welcome-x86_64.AppImage'
alias ml4w-settings='~/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage'
alias ml4w-sidebar='~/dotfiles/eww/ml4w-sidebar/launch.sh'
alias ml4w-hyprland='~/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage'
alias ml4w-diagnosis='~/dotfiles/hypr/scripts/diagnosis.sh'
alias ml4w-hyprland-diagnosis='~/dotfiles/hypr/scripts/diagnosis.sh'
alias ml4w-qtile-diagnosis='~/dotfiles/qtile/scripts/diagnosis.sh'
# -----------------------------------------------------
# Window Managers
# -----------------------------------------------------
alias Qtile='startx'
# Hyprland with Hyprland
# -----------------------------------------------------
# GIT
# -----------------------------------------------------
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push"
alias gpl="git pull"
alias gst="git stash"
alias gsp="git stash; git pull"
alias gcheck="git checkout"
alias gcredential="git config credential.helper store"
# -----------------------------------------------------
# SCRIPTS
# -----------------------------------------------------
alias gr='python ~/dotfiles/scripts/growthrate.py'
alias ChatGPT='python ~/mychatgpt/mychatgpt.py'
alias chat='python ~/mychatgpt/mychatgpt.py'
alias ascii='~/dotfiles/scripts/figlet.sh'
# -----------------------------------------------------
# VIRTUAL MACHINE
# -----------------------------------------------------
alias vm='~/private/launchvm.sh'
alias lg='~/dotfiles/scripts/looking-glass.sh'
# -----------------------------------------------------
# EDIT CONFIG FILES
# -----------------------------------------------------
alias confq='$EDITOR ~/dotfiles/qtile/config.py'
alias confp='$EDITOR ~/dotfiles/picom/picom.conf'
alias confb='$EDITOR ~/dotfiles/.bashrc'
# -----------------------------------------------------
# EDIT NOTES
# -----------------------------------------------------
alias notes='$EDITOR ~/notes.txt'
# -----------------------------------------------------
# SYSTEM
# -----------------------------------------------------
alias update-grub='sudo grub-mkconfig -o /boot/grub/grub.cfg'
alias setkb='setxkbmap de;echo "Keyboard set back to de."'
# -----------------------------------------------------
# SCREEN RESOLUTINS
# -----------------------------------------------------
# Qtile
alias res1='xrandr --output DisplayPort-0 --mode 2560x1440 --rate 120'
alias res2='xrandr --output DisplayPort-0 --mode 1920x1080 --rate 120'
export PATH="$HOME/.local/bin/:/usr/lib/ccache/bin/:$PATH"
# -----------------------------------------------------
# DEVELOPMENT
# -----------------------------------------------------
alias dotsync="~/dotfiles-versions/dotfiles/.dev/sync.sh dotfiles"
# -----------------------------------------------------
# START STARSHIP
# -----------------------------------------------------
eval "$(starship init bash)"
# -----------------------------------------------------
# PYWAL
# -----------------------------------------------------
cat ~/.cache/wal/sequences
# -----------------------------------------------------
# Fastfetch if on wm
# -----------------------------------------------------
if [[ $(tty) == *"pts"* ]]; then
fastfetch --config examples/13
else
echo
if [ -f /bin/qtile ]; then
echo "Start Qtile X11 with command Qtile"
fi
if [ -f /bin/hyprctl ]; then
echo "Start Hyprland with command Hyprland"
fi
fi

View File

@ -0,0 +1 @@
50x30

1
dotfiles/.settings/browser.sh Executable file
View File

@ -0,0 +1 @@
google-chrome-stable --ozone-platform=wayland --enable-wayland-ime

1
dotfiles/.settings/editor.sh Executable file
View File

@ -0,0 +1 @@
mousepad

View File

@ -0,0 +1 @@
auto

View File

@ -0,0 +1 @@
thunar

View File

@ -0,0 +1,8 @@
# Preload Wallpapers
preload = WALLPAPER
# Set Wallpapers
wallpaper = ,WALLPAPER
# Disable Splash
splash = false

View File

@ -0,0 +1 @@
hyprshade_filter=" blue-light-filter"

View File

@ -0,0 +1 @@
nm-connection-editor

View File

@ -0,0 +1,3 @@
* {
border-radius: 15px;
}

View File

@ -0,0 +1 @@
* { border-width: 3px; }

View File

@ -0,0 +1 @@
configuration { font: "Fira Code Nerd Font Semibold 16"; }

View File

@ -0,0 +1,62 @@
[
{
"key": "waybar_timeformat",
"value": "%H:%M"
},
{
"key": "waybar_dateformat",
"value": "%a"
},
{
"key": "waybar_custom_timedateformat",
"value": ""
},
{
"key": "waybar_workspaces",
"value": 5
},
{
"key": "rofi_bordersize",
"value": 3
},
{
"key": "waybar_toggle",
"value": true
},
{
"key": "waybar_taskbar",
"value": false
},
{
"key": "waybar_network",
"value": true
},
{
"key": "waybar_chatgpt",
"value": true
},
{
"key": "waybar_systray",
"value": true
},
{
"key": "waybar_screenlock",
"value": true
},
{
"key": "waybar_window",
"value": true
},
{
"key": "hypridle_hyprlock_timeout",
"value": 600
},
{
"key": "hypridle_dpms_timeout",
"value": 660
},
{
"key": "hypridle_suspend_timeout",
"value": 1800
}
]

1
dotfiles/.settings/software.sh Executable file
View File

@ -0,0 +1 @@
alacritty -e pacseek

1
dotfiles/.settings/terminal.sh Executable file
View File

@ -0,0 +1 @@
kitty

View File

@ -0,0 +1 @@
off

View File

@ -0,0 +1 @@
hyprpaper

View File

@ -0,0 +1,2 @@
# Enter the path to the folder that includes your wallpapers
wallpaper_folder=$HOME/wallpaper

1
dotfiles/.version/name Normal file
View File

@ -0,0 +1 @@
2.9.1.1

17
dotfiles/.version/update.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
# Check for internet connection
if ping -q -c 1 -W 1 google.com >/dev/null; then
version=$(cat ~/dotfiles/.version/version)
online=$(curl -s https://gitlab.com/stephan-raabe/dotfiles/-/raw/main/.version/version?ref_type=heads)
if [ "$version" -lt "$online" ]; then
# Update available
echo "0"
else
# No update available
echo "1"
fi
else
# Network is down
echo "1"
fi

View File

@ -0,0 +1 @@
2911

2
dotfiles/.version/version.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
echo $(cat ~/dotfiles/.version/name) $(cat ~/dotfiles/.version/version)

80
dotfiles/.zshrc_ohmyzsh Normal file
View File

@ -0,0 +1,80 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
# -----------------------------------------------------
# Oh my zsh settings
# -----------------------------------------------------
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# ZSH_THEME="robbyrussell"
ZSH_THEME="powerlevel10k/powerlevel10k"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
zstyle ':omz:update' mode auto
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
COMPLETION_WAITING_DOTS="true"
# -----------------------------------------------------
# Plugins
# -----------------------------------------------------
plugins=(git colored-man-pages eza z sudo zsh-autosuggestions fast-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# -----------------------------------------------------
# Variables
# -----------------------------------------------------
export PATH=$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$PATH
# export MANPATH="/usr/local/man:$MANPATH"
export LANG=en_US.UTF-8
export EDITOR='vim'
export MAKEFLAGS='-j$(nproc)'
export CFLAGS='-march=native -O2 -pipe'
# -----------------------------------------------------
# Alias
# -----------------------------------------------------
alias sshkoko="TERM=xterm-256color ssh ywang2020@koko-login.hpc.fau.edu"
alias wakemac="wakeonlan 18:C0:4D:8D:56:0E"
alias ls="eza --icons=auto"
alias githashselector="git log --oneline | gum filter | cut -d' ' -f1"
alias bat="bat --paging=never"
# fix ssh if in kitty
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
# -----------------------------------------------------
# evals
# -----------------------------------------------------
eval $(thefuck --alias)
eval "$(fzf --zsh)"
# -----------------------------------------------------
# PYWAL
# -----------------------------------------------------
cat ~/.cache/wal/sequences
# -----------------------------------------------------
# Custom
# -----------------------------------------------------
[[ ! -f ~/.custom.zsh ]] || source ~/.custom.zsh
# -----------------------------------------------------
# miscs
# -----------------------------------------------------
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

62
dotfiles/.zshrc_zinit Normal file
View File

@ -0,0 +1,62 @@
# ---------------------------------------------------
# Zinit and plugins
# ---------------------------------------------------
source /usr/share/zinit/zinit.zsh
# Load powerlevel10k theme
zinit ice depth"1" # git clone depth
zinit light romkatv/powerlevel10k
# Load plugins
zinit light zsh-users/zsh-autosuggestions
zinit light zdharma-continuum/fast-syntax-highlighting
# oh-my-zsh plugins
zi snippet OMZL::git.zsh
zi snippet OMZP::git
zi snippet OMZP::sudo
zi snippet OMZP::colored-man-pages
zi snippet OMZP::eza
zi snippet OMZP::z
# others
zplugin ice as"program" pick"bin/git-dsf"
zplugin light zdharma-continuum/zsh-diff-so-fancy
# ----------------------------------------------------
# Variables
# ----------------------------------------------------
export PATH=$HOME/bin:$HOME/.cargo/bin:$HOME/.local/bin:/usr/local/bin:$PATH
export EDITOR=vim
# ----------------------------------------------------
# Alias
# ----------------------------------------------------
alias sshkoko="TERM=xterm-256color ssh ywang2020@koko-login.hpc.fau.edu"
alias wakemac="wakeonlan 18:C0:4D:8D:56:0E"
alias eza="eza --icons=auto"
alias githashselector="git log --oneline | gum filter | cut -d' ' -f1"
alias bat="bat --paging=never"
# -----------------------------------------------------
# evals
# -----------------------------------------------------
eval $(thefuck --alias)
eval "$(fzf --zsh)"
# -----------------------------------------------------
# Miscs
# -----------------------------------------------------
# fix ssh if in kitty
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# -----------------------------------------------------
# PYWAL
# -----------------------------------------------------
cat ~/.cache/wal/sequences
# -----------------------------------------------------
# Custom
# -----------------------------------------------------
[[ ! -f ~/.custom.zsh ]] || source ~/.custom.zsh

311
dotfiles/CHANGELOG.md Normal file
View File

@ -0,0 +1,311 @@
Version 2.9.1.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1.1
--------------------------------------------------------
- New installation method for sddm sugar candy theme. Instead of using yay, the installer will download the ZIP from the repository, extract it to the Downloads folder and copy the files to the destination folder.
- A gamemode can be toggled with SUPER+ALT+G. The gaming mode will disable the animations and blur.
- Added a black ML4W Icon for black waybar themes
Version 2.9.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9.1
--------------------------------------------------------
- Hyprpaper is the default wallpaper engine. swww will not be installed by the installer anymore. You can still switch to swww in the Dotfiles Settings App (System tab) but you need to install swww manually with yay -S swww
- pfetch has been replaced with fastfetch (requires an update of the .bashrc) https://gitlab.com/stephan-raabe/dotfiles/-/issues/315
- Directory for wallpapers can be customized with new .settings/wallpaper-folder.sh https://gitlab.com/stephan-raabe/dotfiles/-/issues/325
- Screen shading possible with hyprshade. SUPER+SHIFT+S to toggle hyprshade. The shader can be defined with the shader module in waybar or in ~/dotfiles/.settings/hyprshade.sh
For auto-activation at a dedicated time please set the filter to off and follow the instructions here https://github.com/loqusion/hyprshade. https://gitlab.com/stephan-raabe/dotfiles/-/issues/329
- Nautilus defined as the new default file manager. Thunar is still available.
- Waybar can be toggles with SUPER+CTRL+B https://gitlab.com/stephan-raabe/dotfiles/-/issues/299
- Installation script optimized for new gum
- During the installation of the keyboard, it can be selected between a desktop and laptop optimized configuration https://gitlab.com/stephan-raabe/dotfiles/-/issues/319.
- RDP launch script updated https://gitlab.com/stephan-raabe/dotfiles/-/issues/336
- Nvidia environment configuration updated https://gitlab.com/stephan-raabe/dotfiles/-/issues/327
- Pacman can be configured for parallel downloads, colors and more during the installation and with the ML4W Settings app https://gitlab.com/stephan-raabe/dotfiles/-/issues/316
- Image conversions with imagemagick can be enabled for wallpapers. Right click on wallpaper module in waybar. You can add more effects in ~/dotfiles/hypr/effects/wallpaper
- ChatGPT Window opens on the left screen side in floating mode
- New default wallpaper
- Added hypridle inhibitor waybar module to toggle screen locking with hyprlock
- Tooltips added to all waybar modules
Version 2.9
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.9
--------------------------------------------------------
- New Hyprland Settings App. Can be launched from the App Launcher, the ML4W Welcome App or the new ML4W logo context menu (right click)
- Added sidebar menu. Start with click on ML4W Logo in Waybar. Right click starts the welcome app
- Updated hyprlock screen showing the wallpaper in a circle. hyprlock 3 required
- Waybar Taskbar Module hidden by default. Can be enabled again in the ML4W Settings App
- Hyprpaper is now the default wallpaper engine. swww can be activiated
- Animations can be disabled in the Dotfiles Settings app
- Animations can be toggled (enabled/disabled) temporarily with SUPER + SHIFT + A
- Keyboard layout is part of the system information module of waybar
- nm-applet can be started from the ML4W Welcome App menu Settings/System
- New diagnosis features checks that essential command are available. Enter ml4w-diagnosis in a terminal or from the ML4W Welcome App
Version 2.8.4
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.4
--------------------------------------------------------
- In the ML4W Dotfiles Settings App you can now switch between the wallpaper applications swww or hyprpaper. In case of issues with the default application swww you can select hyprpaper. The wallpaper application can also be disabled but background images for wlogout, hyprlock and rofi will be generated with the selected wallpaper.
PLEASE NOTE: Logout & Login is required after a change.
- New folder structure for backups: dotfiles-versions/backup holds the latest backup, dotfiles-versions/archive stores archived backups
- Installer can now backup configurations in .config before overwriting by dotfiles
- You can uninstall the ML4W dotfiles with the new uninstaller script starting from the ML4W dotfiles or by executing ~/dotfiles/uninstall.sh
- Using the hypridle.conf suggested by https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/
Version 2.8.3.4
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.3.4
--------------------------------------------------------
- Fix swww gray background issue. New command on autostart.conf is
exec-once = swww init || swww-daemon --format xrgb
- Using blurred version of background image for wlogout
- Add progress bar to dunst notification for wallpaper change and processing
Version 2.8.3.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.3.2
--------------------------------------------------------
- Replace rofi with rofi-lbonn-wayland to get rofi wayland support
- Several modifications in the ML4W Welcome App
- ML4W Settings App allows to set between 1 and 10 Hyprland workspaces
Version 2.8.3.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.3.1
--------------------------------------------------------
- Add compatibility with Hyprland 0.37.1
Version 2.8.3
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.3
--------------------------------------------------------
- New ML4W Dotfiles Settings App based on GTK4 with many new customization options
- Hyprlock with blurred version of the current wallpaper as background. Blur strength can be adjusted in the ML4W Dotfiles Settings app
- Hyprlock now showing the current time and username
Version 2.8.2.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.2
--------------------------------------------------------
- ML4W Welcome app includes more settings for hypridle. Incl. recommendation from Hyprland Wiki
Version 2.8.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.2
--------------------------------------------------------
General:
- Force installation of sddm to fix theme issue with sddm-sugar-candy theme. sddm-git doesn't work with themes at the moment
- snapshot.sh script check now for required timeshift and (optional) grub-btrfs packages
- Waybar Bluetooth module now hides automatically if no bluetooth device is detected. Please check that "bluetooth" is not commented out in ~/dotfiles/waybar/modules.json
- Replace hypridle-git with hypridle and hyprlock-git with hyprlock
- Desktop file for ML4W Welcome App to be listed in application launcher + icon
Version 2.8.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8.1
--------------------------------------------------------
General:
- Swayidle replaced with hypridle (config in dotfiles/hypr/hypridle.conf)
- Swaylock replaced with hyprlock (config in dotfiles/hypr/hyprlock.conf)
- New default wallpaper in Hyprland style
- xarchiver and zip added for thunar
- Rofi border width can be adjusted in dotfiles/.settings/rofi-border.rasi
- emote added to select Emojis (SUPER+.)
ML4W Welcome App:
- Opens Hyprland systeminfo from the about menu
- Timeshift can be installed from the settings menu
- Terminal for Thunar can be set from the settings menu
Hyprland:
- Bugfix timeshift detection in installupdates.sh
Qtile:
- Polybar removed from the dotfiles
Version 2.8
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.8
--------------------------------------------------------
Hyprland:
- New Welcome app based on GTK4. Can be launched with the icon on waybar or with the command ml4w
- nwg-look-bin to define a custom GTK Theme
- Updated waybar starter theme
- New waybar idle-inhibator icon
- New waybar theme ml4w-minimal
- New window animation variation animation-moving.conf
- New AI icon to open ChatGPT
- Hyprland installation with hyprland package only. hyprland-git removed from the installer
Version 2.7.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.7.2
--------------------------------------------------------
Hyprland:
- New waybar icon to enable/disable swaylock. Left mouse click to toggle swaylock, right mouse click to start swaylock
- Show/Hide idle_inhibitor module (swaylock) in Settings script
- Start of swayidle can be deactivated in the settings script
- New animation variation animation-moving.conf
General:
- Installation script bug fixing
- Alias cleanup added to .bashrc for Arch Linux maintenance
- New Hyprland configuration variation script to roll back to default variations via tty
Version 2.7.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.7.1
--------------------------------------------------------
Hyprland:
- Add optional network-manager applet support. Can be activated in Settings script System/nm-applet
- Show/Hide network module in Settings script
- New Settings for keyboard (incl. natural_scroll for touchpads)
- Add ChatGPT Icon to Waybar. Can be disabled in settings
Qtile:
- Removed polybar from the installation for stability reasons.
Version 2.7
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.7
--------------------------------------------------------
Installation:
- Display Manager SDDM and sugar-candy theme will be installed.
- Optional display manager disablement possible
- Select between hyprland or hyprland-git
- Arco Linux is now supported. Please choose hyprland-git and reinstall/force the installation of all packages during the installation/update script.
General:
- Adding icons to eza. Adding ls, ll, lt
- New alacritty.toml configuration file
Hyprland:
- New Waybar Module Idle Inhibitor to deactivate the automatic start of swaylock e.g. to watch videos or for online meetings
- Create own customization of ML4W waybar themes: https://gitlab.com/stephan-raabe/dotfiles/-/tree/main/waybar?ref_type=heads#define-your-own-config-and-stylecss-for-a-ml4w-theme
- Wallpaper selector now with preview thumbnails
- Settings script reworked completely. Implementation of custom modules are now possible.
- Waybar settings module to edit some ML4W waybar themes settings on the fly
- Waybar with Systray (can be hidden in settings script)
- SDDM settings module to update the SDDM background with current wallpaper
- All image formats are now supported for setting a wallpaper (jpg,jpeg,png,...)
Qtile:
- Removed wayland support due to many limitations. Installation script will rename /usr/share/wayland-sessions/qtile-wayland.session to qtile-wayland.bak to hide in sddm
Version 2.6.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.6.1
--------------------------------------------------------
Installation:
- Add hook.sh to modify the installation files just before the copy procedure into ~/dotfiles. Please check the README.md for more information
Settings Script:
- Added custom.conf which is included at the bottom of the hyprland.conf and can hold you personal configurations. Editable in the section Custom
Hyprland:
- Add foldable module for hardware information
- Add keyboard layout to hardware information
- Add waybar starter theme to waybar
Version 2.6
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.6
--------------------------------------------------------
Installation:
- Script ensures with the start that rsync and gum is installed
- All dialogues implemented with gum to increase usability
- New .dev folder with sync scripts added to sync from dotfiles-version/* to ~/dotfiles (Please check before executing)
- exa replaced with eza (exa not maintained anymore)
Hyprland:
- New settings cli app to change configuration variations on the fly. SUPER+CTRL+S or wheel icon in waybar.
- New variations for decoration and window
- Variations for monitor settings introduced (can be used to define a custom multi-monitor setup. Please see the Hyprland Wiki)
- More keybindings for function keys added
- New ML4W black and white Waybar Theme (+ bottom and blur version)
Known issues Qtile Wayland:
- GTK dark theme not always working
- Screen recording issues with OBS Studio and other applications
Version 2.5.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.5.1
--------------------------------------------------------
Installation:
- Changed from cp to rsync to sync files between folders
- Stability improvements
- New default wallpapers
Version 2.5
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.5
--------------------------------------------------------
Installation:
- Completely reworked script
- Can install Hyprland and/or Qtile
- Backup of existing dotfiles possible
- New optimized download of wallpapers from the repository
General:
- Script folder cleaned up and window manager scripts moved to related wm scripts folder
Hyprland:
- Show key bindings defined in ~/dotfiles/hypr/conf/keybindings.conf rofi menu. Opens with SUPER+CTRL+H or right click on Apps
- Added keybinding to toggle all windows to float and back to tiling (Doesn't work with web apps)
- Add brightness control for FN Brightness keys
- swww loading wallpaper from last session
- New Waybar Theme with blurred background
- Latest Waybar supports now persistent workspaces (set to 5 by default)
Qtile:
- Add wayland support
- New Qtile status bar theme (Qtile status bar is default theme)
- Status bar can be switch on X11 with SUPER + SHIFT + S between Qtile bar and Polybar
- swww/wal loading wallpaper from last session
- Add brightness control for FN Brightness keys
Known issues Qtile Wayland:
- GTK dark theme is not always working
- Screen recording issues with OBS Studio and other applications
Version 2.4
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.4
--------------------------------------------------------
- Now using sddm as Display Manager
- sddm theme sddm-sugar-dark available
- Add Waybar theme switcher (SUPER + CTRL + T)
- Add Waybar theme engine ~/dotfiles/waybar/themes
- Switch to chromium as default browser (SUPER + B)
- Brave is alternative browser (SUPER + CTRL + B)
- Default animations back to standard ~/dotfiles/conf/animations-low.conf due to compatibility reasons. Enhanced animations available in ~/dotfiles/conf/animations-high.conf
- Thunar is default file manager now due to compatibility reasons
- Default icons set to Papirus icon theme
- GTK files updated and cleaned up. gtk-4.0 added (please check the ~/dotfiles/3-dotfile.sh for required symlinks)
- Default cursor set to Bibata Modern Ice
- 1-install.sh checks if base-devel is installed. Required to install and compile yay
Version 2.3
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.3
--------------------------------------------------------
- Add clipboard manager cliphist
- Waybar: Add numbers to workspaces
- Waybar: Add icon for wallpaper selection
- Waybar: Add cliphist icon (click = open, right-click = delete item, middle-click = clear data)
- Screenshots: Add swappy
- Icons: Changed to Kora Icon Theme
- Rofi: New Layout featuring current wallpaper as a background for launcher, cliphist and wallpaper selection
- Update Wallpaper: Add random transition effects
- Hyprland: Exclude configurations files into dedicated files in hypr/conf/ directory
- Hyprland: New window animations (in hypr/conf/)
Version 2.2
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.2
--------------------------------------------------------
- Bugfix: /gtk/gtk-3.0/bookmarks removed from repository
- Bugfix: Added cursor definition to hyprland.conf
- + more smaller fixes
- Login: Move issue into login directory
- Hyprland: Prefer dark theme for gtk3 applications e.g., nautilus
- Hyprland: Add keybinding for filemanager.sh SUPER, CTRL, F to start nautilus (if installed) or thunar
- Installation: Add nautilus package to become new default file manager
- Hyprland install script: Add swayidle to 2-install-hyprland.sh
- Waybar: Add quickstart icon for filemanager.sh
- Waybar: Style improvements
- Dunst: Add white border around notifications
- wlogout: Add new white icons and optimized style with pywal
- Hyprland: Add keybind to passthrough SUPERKEY to Virtual Machine
- Grim: Removed first option in the script for selected window
Version 2.1
https://gitlab.com/stephan-raabe/dotfiles/-/releases/2.1
--------------------------------------------------------
- Several bugfixes
- Updates custom waybar module to check available packages for updates (pacman and aur) plus color theme for number of available packages (waybar/modules.json)
- New installupdates script with Timeshift integration. Ask for name for the Timeshift before starting the updates (scripts/installupdates.sh)
- Waybar: Pywal colors for waybar now with relative link into ./cache/wal/ (waybar/style.css)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
name = Extracted Theme
description = Automatically extracted with hyprcursor-util
version = 0.1
cursors_directory = hyprcursors

View File

@ -0,0 +1,16 @@
[font]
size = 16
[font.normal]
family = "FiraCode Nerd Font"
style = "Regular"
[window]
opacity = 0.7
[window.padding]
x = 15
y = 15
[selection]
save_to_clipboard = true

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
dotfiles/apps/installer.AppImage Executable file

Binary file not shown.

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Type=Application
Name=ML4W Dotfiles Settings App
Exec=/home/wyj/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage
Icon=/home/wyj/dotfiles/apps/ml4w-dotfiles-settings.png
Terminal=false
Categories=Utility

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Type=Application
Name=ML4W Hyprland Settings App
Exec=/home/wyj/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage
Icon=/home/wyj/dotfiles/apps/ml4w-hyprland-settings.png
Terminal=false
Categories=Utility

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
dotfiles/apps/ml4w-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Type=Application
Name=ML4W Welcome App
Exec=/home/wyj/dotfiles/apps/ML4W_Welcome-x86_64.AppImage
Icon=/home/wyj/dotfiles/apps/ml4w-icon.png
Terminal=false
Categories=Utility

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1 @@
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime

469
dotfiles/dunst/dunstrc Normal file
View File

@ -0,0 +1,469 @@
# _ _
# __| |_ _ _ __ ___| |_
# / _` | | | | '_ \/ __| __|
# | (_| | |_| | | | \__ \ |_
# \__,_|\__,_|_| |_|___/\__|
#
#
# by Stephan Raabe (2023)
# -----------------------------------------------------
# See dunst(5) for all configuration options
[global]
### Display ###
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
### Geometry ###
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = 300
# The maximum height of a single notification, excluding the frame.
height = (0,300)
# Position the notification in the top right corner
origin = top-center
# Offset from the origin
offset = 0x30
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Maximum number of notification (0 means no limit)
notification_limit = 20
### Progress bar ###
# Turn on the progess bar. It appears when a progress hint is passed with
# for example dunstify -h int:value:12
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Corner radius for the progress bar. 0 disables rounded corners.
progress_bar_corner_radius = 10
# Corner radius for the icon image.
icon_corner_radius = 0
# Show how many messages are currently hidden (because of
# notification_limit).
indicate_hidden = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 30
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Padding between text and icon.
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 1
# Defines color of the frame around the notification window.
frame_color = "#ffffff"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 0
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
# idle_threshold = 120
### Text ###
font = "Fira Sans Semibold" 9
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 1
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <https://docs.gtk.org/Pango/pango_markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Specify where to make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = "Papirus-Dark,Adwaita"
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 32
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 128
# Paths to default icons (only neccesary when not using recursive icon lookup)
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/xdg-open
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 10
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Wayland ###
# These settings are Wayland-specific. They have no effect when using X11
# Uncomment this if you want to let notications appear under fullscreen
# applications (default: overlay)
# layer = top
# Set this to true to use X11 output on Wayland.
force_xwayland = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: Invoke the action determined by the action_name rule. If there is no
# such action, open the context menu.
# * open_url: If the notification has exactly one url, open it. If there are multiple
# ones, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
# * context: Open context menu for the notification.
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#000000CC"
foreground = "#888888"
timeout = 6
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_normal]
background = "#000000CC"
foreground = "#ffffff"
timeout = 6
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
[urgency_critical]
background = "#900000CC"
foreground = "#ffffff"
frame_color = "#ffffff"
timeout = 6
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# set_category
# timeout
# urgency
# icon_position
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
# hide_text
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# skip_display = true
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="64px" viewBox="0 0 16 16" width="64px" xmlns="http://www.w3.org/2000/svg">
<g fill="#2e3436">
<path style="fill:#dfdfdf" d="m 3 5 v 0.003906 c -0.265625 0 -0.519531 0.105469 -0.707031 0.289063 l -2 2 c -0.3906252 0.390625 -0.3906252 1.023437 0 1.414062 l 2 2 c 0.1875 0.183594 0.441406 0.289063 0.707031 0.285157 v 0.007812 h 1 v -2 h 5 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -5 v -2 z m 0 0"/>
<path style="fill:#dfdfdf" d="m 12 1 c 1.644531 0 3 1.355469 3 3 v 8 c 0 1.644531 -1.355469 3 -3 3 h -4 c -1.644531 0 -3 -1.355469 -3 -3 v -1 c 0 -0.550781 0.449219 -1 1 -1 s 1 0.449219 1 1 v 1 c 0 0.570312 0.429688 1 1 1 h 4 c 0.570312 0 1 -0.429688 1 -1 v -8 c 0 -0.570312 -0.429688 -1 -1 -1 h -4 c -0.570312 0 -1 0.429688 -1 1 v 1 c 0 0.550781 -0.449219 1 -1 1 s -1 -0.449219 -1 -1 v -1 c 0 -1.644531 1.355469 -3 3 -3 z m 0 0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 929 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="64px" viewBox="0 0 16 16" width="64px" xmlns="http://www.w3.org/2000/svg">
<g fill="#2e3436">
<path style="fill:#dfdfdf" d="m 3 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/>
<path style="fill:#dfdfdf" d="m 10 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 561 B

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="64px" viewBox="0 0 16 16" width="64px" xmlns="http://www.w3.org/2000/svg">
<path style="fill:#dfdfdf" d="m 8 1 c -2.199219 0 -4 1.800781 -4 4 v 2 c -1.109375 0 -2 0.890625 -2 2 v 5 c 0 0.554688 0.445312 1 1 1 h 10 c 0.554688 0 1 -0.445312 1 -1 v -5 c 0 -1.109375 -0.890625 -2 -2 -2 v -2 c 0 -2.199219 -1.800781 -4 -4 -4 z m 0 2 c 1.125 0 2 0.875 2 2 v 2 h -4 v -2 c 0 -1.125 0.875 -2 2 -2 z m 0 0" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 478 B

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="64px" viewBox="0 0 16 16" width="64px" xmlns="http://www.w3.org/2000/svg">
<path style="fill:#dfdfdf" d="m 8 0 c -0.550781 0 -1 0.449219 -1 1 v 5 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -5 c 0 -0.550781 -0.449219 -1 -1 -1 z m -7 1 l 2.050781 2.050781 c -2.117187 2.117188 -2.652343 5.355469 -1.332031 8.039063 c 1.324219 2.683594 4.214844 4.238281 7.179688 3.851562 c 2.96875 -0.386718 5.367187 -2.625 5.960937 -5.554687 c 0.59375 -2.933594 -0.75 -5.929688 -3.335937 -7.433594 c -0.476563 -0.28125 -1.089844 -0.117187 -1.367188 0.359375 s -0.117188 1.089844 0.359375 1.367188 c 1.851563 1.078124 2.808594 3.207031 2.382813 5.3125 c -0.421876 2.101562 -2.128907 3.691406 -4.253907 3.96875 c -2.128906 0.273437 -4.183593 -0.828126 -5.128906 -2.753907 s -0.566406 -4.226562 0.949219 -5.742187 l 1.535156 1.535156 v -4.003906 c 0 -0.519532 -0.449219 -0.996094 -1 -0.996094 z m 0 0" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 967 B

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="64px" viewBox="0 0 16 16" width="64px" xmlns="http://www.w3.org/2000/svg">
<path style="fill:#dfdfdf" d="m 8 0 c -0.550781 0 -1 0.449219 -1 1 v 5 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -5 c 0 -0.550781 -0.449219 -1 -1 -1 z m -3.136719 1.816406 c -0.128906 0.015625 -0.253906 0.058594 -0.367187 0.125 c -2.734375 1.582032 -4.074219 4.816406 -3.257813 7.871094 c 0.820313 3.050781 3.59375 5.183594 6.75 5.1875 c 3.160157 0.003906 5.941407 -2.121094 6.765625 -5.167969 c 0.828125 -3.050781 -0.5 -6.289062 -3.230468 -7.878906 c -0.476563 -0.28125 -1.089844 -0.121094 -1.367188 0.359375 c -0.132812 0.226562 -0.171875 0.5 -0.105469 0.757812 c 0.070313 0.257813 0.234375 0.476563 0.464844 0.609376 c 1.957031 1.140624 2.902344 3.441406 2.3125 5.628906 c -0.59375 2.183594 -2.570313 3.695312 -4.832031 3.691406 c -2.265625 -0.003906 -4.238282 -1.519531 -4.824219 -3.707031 s 0.363281 -4.488281 2.324219 -5.621094 c 0.476562 -0.277344 0.640625 -0.886719 0.363281 -1.363281 c -0.132813 -0.230469 -0.347656 -0.398438 -0.605469 -0.464844 c -0.125 -0.035156 -0.257812 -0.042969 -0.390625 -0.027344 z m 0 0" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
<path style="fill:#dfdfdf" d="m 4 4 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 2.28125 2.28125 l 2.3125 -2.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -2.28125 2.28125 l 2.25 2.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -2.28125 -2.28125 l -2.28125 2.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 2.28125 -2.25 l -2.28125 -2.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 788 B

0
dotfiles/eww/eww.yuck Normal file
View File

View File

@ -0,0 +1,78 @@
*{
all: unset;
font-family: "Fira Sans";
color: #FFFFFF;
}
.winbox {
background-color: #242424;
opacity: 0.85;
border: 1px solid #444444;
border-radius: 12px;
box-shadow: 0 0 4px 2px #000000;
margin: 10px;
}
.res_box {
background-color: #242424;
border-radius: 12px;
padding: 14px 18px 14px 18px;
}
.res_circle {
background-color: #FFFFFF;
border: 0px solid #161616;
color:#FFFFFF;
border-radius: 100%;
padding: 0px;
}
.ml4w_icon {
background-repeat: no-repeat;
background-size: 48px;
min-height: 48px;
min-width: 48px;
}
.res_circle_small {
background-color: #242424;
border: 0px solid #161616;
border-radius: 100%;
padding: 40px;
color:#FFFFFF;
}
.res_text {
border-radius: 16px;
color: #FFFFFF;
font-size : 16px;
padding: 0px 8px 0px 8px;
margin: 0px 0px 0px 0px;
font-weight : bold;
}
.res_cpu {
color: #19cddb;
}
.res_mem {
color: #a5deb7;
}
.res_disk {
color: #cfb3ff;
}
.powericons {
background-repeat: no-repeat;
background-size: 30px;
min-height: 30px;
min-width: 30px;
}
.closeicon {
background-repeat: no-repeat;
background-size: 16px;
min-height: 16px;
min-width: 16px;
}

View File

@ -0,0 +1,184 @@
;; Icons: https://github.com/GNOME/adwaita-icon-theme/tree/master/Adwaita
;; Variables
;; System vars
(defpoll HOST :interval "5s" `hostname`)
(defpoll CPU_USAGE :interval "1s" `../scripts/sys_info.sh --cpu`)
(defpoll MEM_USAGE :interval "1s" `../scripts/sys_info.sh --mem`)
(defpoll DISK_USAGE :interval "1s" `../scripts/sys_info.sh --disk`)
;; Widgets
;; resources
(defwidget ml4wlauncher []
(box :class "winbox"
(centerbox :orientation "h"
(box :class "ml4w-welcome" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-welcome.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --welcome")
(label :class "res_text" :valign "end" :halign "center" :text "Welcome App")
)
(box :class "ml4w-dotfiles" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-dotfiles-settings.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --dotfiles")
(label :class "res_text" :valign "end" :halign "center" :text "Dotfiles App")
)
(box :class "ml4w-hyprland" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(button :style "background-image: url('../../apps/ml4w-hyprland-settings.png');" :class "ml4w_icon" :orientation "v" :valign "center" :halign "center" :onclick "../scripts/launch_app.sh --hyprland")
(label :class "res_text" :valign "end" :halign "center" :text "Hyprland App")
)
)
)
)
(defwidget resources []
(box :class "winbox"
(centerbox :orientation "h"
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_cpu" :value CPU_USAGE :thickness 15
(label :class "res_circle_small" :text "CPU" :show-truncated false)
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${CPU_USAGE}%")
)
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_mem" :value MEM_USAGE :thickness 15
(label :class "res_circle_small" :text "MEMORY" :show-truncated false)
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${MEM_USAGE}%")
)
(box :class "res_box" :orientation "v" :valign "center" :halign "center" :spacing 15 :space-evenly "false"
(box :class "res_circle" :orientation "v" :valign "center" :halign "center"
(circular-progress :class "res_disk" :value DISK_USAGE :thickness 15
(label :class "res_circle_small" :text "DISK" :show-truncated false)
)
)
(label :class "res_text" :valign "end" :halign "center" :text "${DISK_USAGE}%")
)
)
)
)
(defwidget close []
(box :class "winbox"
(button :tooltip "Close" :style "background-image: url('../assets/window-close-symbolic.svg');" :class "closeicon" :valign "center" :halign "center" :onclick "../scripts/eww.sh &")
)
)
;; powermenus
(defwidget logout []
(box :class "winbox"
(button :tooltip "Logout" :style "background-image: url('../assets/application-exit-symbolic-rtl.svg');" :class "powericons" :valign "center" :halign "center" :onclick "../../hypr/scripts/power.sh exit &")
)
)
(defwidget suspend []
(box :class "winbox"
(button :tooltip "Suspend" :style "background-image: url('../assets/media-playback-pause-symbolic.svg');" :class "powericons" :valign "center" :halign "center" :onclick "../../hypr/scripts/power.sh suspend &")
)
)
(defwidget lock []
(box :class "winbox"
(button :tooltip "Lock" :style "background-image: url('../assets/system-lock-screen-symbolic.svg');" :class "powericons" :valign "center" :halign "center" :onclick "../../hypr/scripts/power.sh lock &")
)
)
(defwidget reboot []
(box :class "winbox"
(button :tooltip "Reboot" :style "background-image: url('../assets/system-reboot-symbolic.svg');" :class "powericons" :valign "center" :halign "center" :onclick "../../hypr/scripts/power.sh reboot &")
)
)
(defwidget shutdown []
(box :class "winbox"
(button :tooltip "Shutdown" :style "background-image: url('../assets/system-shutdown-symbolic.svg');" :class "powericons" :valign "center" :halign "center" :onclick "../../hypr/scripts/power.sh shutdown &")
)
)
;; ** Windows *************************************************************************
(defwindow close
:geometry (geometry :x "455px"
:y "-7px"
:width "44px"
:height "44px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(close))
(defwindow ml4wlauncher
:geometry (geometry :x "5px"
:y "5px"
:width "480px"
:height "140px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(ml4wlauncher))
;; resources
(defwindow resources
:geometry (geometry :x "5px"
:y "140px"
:width "480px"
:height "180px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(resources))
;; powermenu
(defwindow logout
:geometry (geometry :x "5px"
:y "318px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(logout))
(defwindow suspend
:geometry (geometry :x "102px"
:y "318px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(suspend))
(defwindow lock
:geometry (geometry :x "204px"
:y "318px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(lock))
(defwindow reboot
:geometry (geometry :x "305px"
:y "318px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(reboot))
(defwindow shutdown
:geometry (geometry :x "405px"
:y "318px"
:width "80px"
:height "80px"
:anchor "top right")
:stacking "fg"
:wm-ignore false
(shutdown))

View File

@ -0,0 +1,33 @@
#!/bin/bash
FILE="$HOME/.cache/ml4w_sidebar"
CFG="$HOME/dotfiles/eww/ml4w-sidebar"
EWW=`which eww`
if [[ ! `pidof eww` ]]; then
${EWW} daemon
sleep 0.5
fi
if [ -f $HOME/dotfiles/.settings/eww-monitor.sh ] && [ $(cat $HOME/dotfiles/.settings/eww-monitor.sh) != "auto" ] ;then
echo ":: Using monitor id from $HOME/dotfiles/.settings/eww-monitor.sh"
sc=$(cat $HOME/dotfiles/.settings/eww-monitor.sh)
else
echo ":: Autodetect current focused monitor."
sc=$(python $HOME/dotfiles/hypr/scripts/active-monitor.py)
fi
if [[ ! -f "$FILE" ]]; then
touch "$FILE"
echo ":: Opening on Monitor $sc"
${EWW} --config "$CFG" open ml4wlauncher --screen $sc
${EWW} --config "$CFG" open resources --screen $sc
${EWW} --config "$CFG" open logout --screen $sc
${EWW} --config "$CFG" open suspend --screen $sc
${EWW} --config "$CFG" open lock --screen $sc
${EWW} --config "$CFG" open reboot --screen $sc
${EWW} --config "$CFG" open shutdown --screen $sc
${EWW} --config "$CFG" open close --screen $sc
else
${EWW} --config "$CFG" close resources ml4wlauncher logout suspend lock reboot shutdown close
echo ":: Closing widgets"
rm "$FILE"
fi

3
dotfiles/eww/scripts/eww.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
sleep 0.3
$HOME/dotfiles/eww/ml4w-sidebar/launch.sh

View File

@ -0,0 +1,12 @@
#!/bin/bash
if [[ "$1" == "--welcome" ]]; then
$HOME/dotfiles/apps/ML4W_Welcome-x86_64.AppImage &
elif [[ "$1" == "--dotfiles" ]]; then
$HOME/dotfiles/apps/ML4W_Dotfiles_Settings-x86_64.AppImage &
elif [[ "$1" == "--hyprland" ]]; then
$HOME/dotfiles/apps/ML4W_Hyprland_Settings-x86_64.AppImage &
else
echo "ERROR: $1 not found"
fi
$HOME/dotfiles/eww/ml4w-sidebar/launch.sh &

Some files were not shown because too many files have changed in this diff Show More