Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 5bf82c9

Browse files
authoredMar 18, 2023
First commit
First commit of dof files and simple install script
1 parent 6ed30a9 commit 5bf82c9

14 files changed

+1043
-0
lines changed
 

‎hypr/hong-kong-night.jpg

443 KB
Loading

‎hypr/hyprland.conf

+187
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# Setup monitors
2+
# See https://wiki.hyprland.org/Configuring/Monitors/
3+
monitor=,preferred,auto,auto
4+
5+
# Dual monitor example on G15 Strix
6+
# eDP-1 is the built in monitor while DP-1 is external
7+
# Both monitors here are at 1440 and 165Hz
8+
# DP-1 is on the left and eDP-1 is on the right
9+
#monitor=DP-1,2560x1440@165,0x0,1
10+
#monitor=eDP-1,2560x1440@165,2560x0,1
11+
12+
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
13+
14+
# Execute your favorite apps at launch
15+
exec-once = ~/.config/hypr/xdg-portal-hyprland
16+
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
17+
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
18+
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
19+
exec-once = waybar
20+
exec = swaybg -m fill -i ~/.config/hypr/hong-kong-night.jpg
21+
22+
# Source a file (multi-file configs)
23+
# source = ~/.config/hypr/myColors.conf
24+
25+
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
26+
input {
27+
kb_layout = us
28+
kb_variant =
29+
kb_model =
30+
kb_options =
31+
kb_rules =
32+
33+
follow_mouse = 1
34+
35+
touchpad {
36+
natural_scroll = no
37+
}
38+
39+
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
40+
}
41+
42+
general {
43+
# See https://wiki.hyprland.org/Configuring/Variables/ for more
44+
45+
gaps_in = 5
46+
gaps_out = 20
47+
border_size = 2
48+
#col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
49+
col.active_border=rgb(cdd6f4)
50+
col.inactive_border = rgba(595959aa)
51+
52+
layout = dwindle
53+
}
54+
55+
misc {
56+
disable_hyprland_logo = yes
57+
}
58+
59+
decoration {
60+
# See https://wiki.hyprland.org/Configuring/Variables/ for more
61+
62+
rounding = 10
63+
blur = yes
64+
blur_size = 7
65+
blur_passes = 3
66+
blur_new_optimizations = on
67+
blurls = lockscreen
68+
69+
drop_shadow = yes
70+
shadow_range = 4
71+
shadow_render_power = 3
72+
col.shadow = rgba(1a1a1aee)
73+
}
74+
75+
animations {
76+
enabled = yes
77+
78+
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
79+
80+
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
81+
82+
animation = windows, 1, 7, myBezier
83+
animation = windowsOut, 1, 7, default, popin 80%
84+
animation = border, 1, 10, default
85+
animation = fade, 1, 7, default
86+
animation = workspaces, 1, 6, default
87+
}
88+
89+
dwindle {
90+
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
91+
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
92+
preserve_split = yes # you probably want this
93+
}
94+
95+
master {
96+
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
97+
new_is_master = true
98+
}
99+
100+
gestures {
101+
# See https://wiki.hyprland.org/Configuring/Variables/ for more
102+
workspace_swipe = off
103+
}
104+
105+
# Example per-device config
106+
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
107+
device:epic mouse V1 {
108+
sensitivity = -0.5
109+
}
110+
111+
# Example windowrule v1
112+
# windowrule = float, ^(kitty)$
113+
# Example windowrule v2
114+
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
115+
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
116+
# rules below would make the specific app transparent
117+
windowrulev2 = opacity 0.8 0.8,class:^(kitty)$
118+
windowrulev2 = opacity 0.8 0.8,class:^(thunar)$
119+
# windowrulev2 = opacity 0.8 0.8,class:^(chromium)$
120+
# windowrulev2 = opacity 0.8 0.8,class:^(Code)$
121+
122+
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
123+
$mainMod = SUPER
124+
125+
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
126+
bind = $mainMod, Q, exec, kitty #open the terminal
127+
bind = $mainMod SHIFT, X, killactive, # close the active window
128+
bind = $mainMod, L, exec, swaylock # Lock the screen
129+
bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window
130+
bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland)
131+
bind = $mainMod, E, exec, thunar # Show the graphical file browser
132+
bind = $mainMod, V, togglefloating, # Allow a window to float
133+
bind = $mainMod, SPACE, exec, wofi # Show the graphicall app launcher
134+
bind = $mainMod, P, pseudo, # dwindle
135+
bind = $mainMod, J, togglesplit, # dwindle
136+
bind = $mainMod, S, exec, grim -g "$(slurp)" - | swappy -f - # take a screenshot
137+
138+
# ROG G15 Strix (2021) Specific binds
139+
bind = ,156, exec, rog-control-center # ASUS Armory crate key
140+
bind = ,211, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar # Fan Profile key switch between power profiles
141+
bind = ,121, exec, pamixer -t # Speaker Mute FN+F1
142+
bind = ,122, exec, pamixer -d 5 # Volume lower key
143+
bind = ,123, exec, pamixer -i 5 # Volume Higher key
144+
bind = ,256, exec, pamixer --default-source -t # Mic mute key
145+
bind = ,232, exec, brightnessctl set 10%- # Screen brightness down FN+F7
146+
bind = ,233, exec, brightnessctl set 10%+ # Screen brightness up FN+F8
147+
bind = ,237, exec, brightnessctl -d asus::kbd_backlight set 33%- # Keyboard brightness down FN+F2
148+
bind = ,238, exec, brightnessctl -d asus::kbd_backlight set 33%+ # Keyboard brightnes up FN+F3
149+
bind = ,210, exec, asusctl led-mode -n # Switch keyboard RGB profile FN+F4
150+
151+
# Move focus with mainMod + arrow keys
152+
bind = $mainMod, left, movefocus, l
153+
bind = $mainMod, right, movefocus, r
154+
bind = $mainMod, up, movefocus, u
155+
bind = $mainMod, down, movefocus, d
156+
157+
# Switch workspaces with mainMod + [0-9]
158+
bind = $mainMod, 1, workspace, 1
159+
bind = $mainMod, 2, workspace, 2
160+
bind = $mainMod, 3, workspace, 3
161+
bind = $mainMod, 4, workspace, 4
162+
bind = $mainMod, 5, workspace, 5
163+
bind = $mainMod, 6, workspace, 6
164+
bind = $mainMod, 7, workspace, 7
165+
bind = $mainMod, 8, workspace, 8
166+
bind = $mainMod, 9, workspace, 9
167+
bind = $mainMod, 0, workspace, 10
168+
169+
# Move active window to a workspace with mainMod + SHIFT + [0-9]
170+
bind = $mainMod SHIFT, 1, movetoworkspace, 1
171+
bind = $mainMod SHIFT, 2, movetoworkspace, 2
172+
bind = $mainMod SHIFT, 3, movetoworkspace, 3
173+
bind = $mainMod SHIFT, 4, movetoworkspace, 4
174+
bind = $mainMod SHIFT, 5, movetoworkspace, 5
175+
bind = $mainMod SHIFT, 6, movetoworkspace, 6
176+
bind = $mainMod SHIFT, 7, movetoworkspace, 7
177+
bind = $mainMod SHIFT, 8, movetoworkspace, 8
178+
bind = $mainMod SHIFT, 9, movetoworkspace, 9
179+
bind = $mainMod SHIFT, 0, movetoworkspace, 10
180+
181+
# Scroll through existing workspaces with mainMod + scroll
182+
bind = $mainMod, mouse_down, workspace, e+1
183+
bind = $mainMod, mouse_up, workspace, e-1
184+
185+
# Move/resize windows with mainMod + LMB/RMB and dragging
186+
bindm = $mainMod, mouse:272, movewindow
187+
bindm = $mainMod, mouse:273, resizewindow

‎hypr/xdg-portal-hyprland

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
sleep 1
3+
killall xdg-desktop-portal-hyprland
4+
killall xdg-desktop-portal-wlr
5+
killall xdg-desktop-portal
6+
/usr/lib/xdg-desktop-portal-hyprland &
7+
sleep 2
8+
/usr/lib/xdg-desktop-portal &

‎kitty/kitty.conf

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
include ./mocha.conf
2+
font_family jetbrains mono nerd font
3+
font_size 15
4+
bold_font auto
5+
italic_font auto
6+
bold_italic_font auto
7+
mouse_hide_wait 2.0
8+
cursor_shape block
9+
url_color #0087bd
10+
url_style dotted
11+
#Close the terminal without confirmation
12+
confirm_os_window_close 0
13+
background_opacity 0.95

‎kitty/mocha.conf

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# vim:ft=kitty
2+
3+
## name: Catppuccin-Mocha
4+
## author: Pocco81 (https://github.com/Pocco81)
5+
## license: MIT
6+
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
7+
## blurb: Soothing pastel theme for the high-spirited!
8+
9+
10+
11+
# The basic colors
12+
foreground #CDD6F4
13+
background #1E1E2E
14+
selection_foreground #1E1E2E
15+
selection_background #F5E0DC
16+
17+
# Cursor colors
18+
cursor #F5E0DC
19+
cursor_text_color #1E1E2E
20+
21+
# URL underline color when hovering with mouse
22+
url_color #F5E0DC
23+
24+
# Kitty window border colors
25+
active_border_color #B4BEFE
26+
inactive_border_color #6C7086
27+
bell_border_color #F9E2AF
28+
29+
# OS Window titlebar colors
30+
wayland_titlebar_color system
31+
macos_titlebar_color system
32+
33+
# Tab bar colors
34+
active_tab_foreground #11111B
35+
active_tab_background #CBA6F7
36+
inactive_tab_foreground #CDD6F4
37+
inactive_tab_background #181825
38+
tab_bar_background #11111B
39+
40+
# Colors for marks (marked text in the terminal)
41+
mark1_foreground #1E1E2E
42+
mark1_background #B4BEFE
43+
mark2_foreground #1E1E2E
44+
mark2_background #CBA6F7
45+
mark3_foreground #1E1E2E
46+
mark3_background #74C7EC
47+
48+
# The 16 terminal colors
49+
50+
# black
51+
color0 #45475A
52+
color8 #585B70
53+
54+
# red
55+
color1 #F38BA8
56+
color9 #F38BA8
57+
58+
# green
59+
color2 #A6E3A1
60+
color10 #A6E3A1
61+
62+
# yellow
63+
color3 #F9E2AF
64+
color11 #F9E2AF
65+
66+
# blue
67+
color4 #89B4FA
68+
color12 #89B4FA
69+
70+
# magenta
71+
color5 #F5C2E7
72+
color13 #F5C2E7
73+
74+
# cyan
75+
color6 #94E2D5
76+
color14 #94E2D5
77+
78+
# white
79+
color7 #BAC2DE
80+
color15 #A6ADC8

‎mako/config

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
sort=-time
2+
layer=overlay
3+
background-color=#2e3440
4+
width=300
5+
height=110
6+
border-size=2
7+
border-color=#88c0d0
8+
border-radius=15
9+
icons=0
10+
max-icon-size=64
11+
default-timeout=5000
12+
ignore-timeout=1
13+
font=monospace 14
14+
15+
[urgency=low]
16+
border-color=#cccccc
17+
18+
[urgency=normal]
19+
border-color=#d08770
20+
21+
[urgency=high]
22+
border-color=#bf616a
23+
default-timeout=0
24+
25+
[category=mpd]
26+
default-timeout=2000
27+
group-by=category
28+

‎set-hypr

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
#!/bin/bash
2+
3+
# The follwoing will attempt to install all needed packages to run Hyprland
4+
# This is a quick and dirty script there are no error checking
5+
# This script is meant to run on a clean fresh system
6+
#
7+
# Below is a list of the packages that would be installed
8+
#
9+
# hyprland-bin: This is the Hyprland compositor
10+
# kitty: This is the default terminal
11+
# waybar-hyprland: This is a fork of waybar with Hyprland workspace support
12+
# swaybg: This is used to set a desktop background image
13+
# swaylock-effects: This allows for the locking of the desktop its a fork that adds some editional visual effects
14+
# wofi: This is an application launcher menu
15+
# wlogout: This is a logout menu that allows for shutdown, reboot and sleep
16+
# mako: This is a graphical notification daemon
17+
# thunar: This is a graphical file manager
18+
# ttf-jetbrains-mono-nerd: Som nerd fonts for icons and overall look
19+
# noto-fonts-emoji: fonts needed by the weather script in the top bar
20+
# polkit-gnome: needed to get superuser access on some graphical appliaction
21+
# python-requests: needed for the weather module script to execute
22+
# starship: allows to customize the shell prompt
23+
# swappy: This is a screenshot editor tool
24+
# grim: This is a screenshot tool it grabs images from a Wayland compositor
25+
# slurp: This helps with screenshots, it selects a region in a Wayland compositor
26+
# pamixer: This helps with audio settings such as volume
27+
# brightnessctl: used to control monitor bright level
28+
# gvfs: adds missing functionality to thunar such as automount usb drives
29+
# bluez: the bluetooth service
30+
# bluez-utils: command line utilities to interact with bluettoth devices
31+
# lxappearance: used to set GTK theme
32+
# xfce4-settings: set of tools for xfce, needed to set GTK theme
33+
# darcula-gtk: the Dracula theme, it fits the overall look and feel
34+
# darcula-icons-git" set of icons to go with the Dracula theme
35+
# xdg-desktop-portal-hyprland-git: xdg-desktop-portal backend for hyprland
36+
37+
#### Check for yay ####
38+
ISYAY=/sbin/yay
39+
if [ -f "$ISYAY" ]; then
40+
echo -e "yay was located, moving on.\n"
41+
else
42+
echo -e "yay was not located, please install yay. Exiting script.\n"
43+
exit
44+
fi
45+
46+
### Disable wifi powersave mode ###
47+
read -n1 -rep 'Would you like to disable wifi powersave? (y,n)' WIFI
48+
if [[ $WIFI == "Y" || $WIFI == "y" ]]; then
49+
LOC="/etc/NetworkManager/conf.d/wifi-powersave.conf"
50+
echo -e "The following has been added to $LOC.\n"
51+
echo -e "[connection]\nwifi.powersave = 2" | sudo tee -a $LOC
52+
echo -e "\n"
53+
fi
54+
55+
### Install all of the above pacakges ####
56+
read -n1 -rep 'Would you like to install the packages? (y,n)' INST
57+
if [[ $INST == "Y" || $INST == "y" ]]; then
58+
yay -S --noconfirm hyprland-bin kitty waybar-hyprland \
59+
swaybg swaylock-effects wofi wlogout mako thunar \
60+
ttf-jetbrains-mono-nerd noto-fonts-emoji \
61+
polkit-gnome python-requests starship \
62+
swappy grim slurp pamixer brighrnessctl gvfs \
63+
bluez bluez-utils lxappearance xfce4-settings \
64+
darcula-gtk darcula-icons-git xdg-desktop-portal-hyprlnad-git
65+
66+
# Start the bluetooth service
67+
echo -e "Starting the Bluetooth Service...\n"
68+
sudo systemctl enable --now bluetooth.service
69+
fi
70+
71+
### Copy Config Files ###
72+
read -n1 -rep 'Would you like to copy config files? (y,n)' CFG
73+
if [[ $CFG == "Y" || $CFG == "y" ]]; then
74+
echo -e "Copying config files...\n"
75+
cp -R hypr ~/.config/
76+
cp -R kitty ~/.config/
77+
cp -R mako ~/.config/
78+
cp -R swaylock ~/.config/
79+
cp -R wofi ~/.config/
80+
fi
81+
82+
### Install teh starship shell ###
83+
read -n1 -rep 'Would you like to install the starship shell? (y,n)' STAR
84+
if [[ $STAR == "Y" || $STAR == "y" ]]; then
85+
# install the starship shell
86+
echo -e "Updating .bashrc...\n"
87+
echo -e '\neval "$(starship init bash)"' >> ~/.bashrc
88+
echo -e "copying starship config file to ~/.confg ...\n"
89+
cp starship.toml ~/.config/
90+
fi
91+
92+
### Install software for Asus ROG laptops ###
93+
read -n1 -rep 'Would you like to install Asus ROG software support? (y,n)' ROG
94+
if [[ $ROG == "Y" || $ROG == "y" ]]; then
95+
echo -e "Adding Keys... \n"
96+
sudo pacman-key --recv-keys 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
97+
sudo pacman-key --finger 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
98+
sudo pacman-key --lsign-key 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
99+
sudo pacman-key --finger 8F654886F17D497FEFE3DB448B15A6B0E9A3FA35
100+
101+
LOC="/etc/pacman.conf"
102+
echo -e "Updating $LOC with g14 repo.\n"
103+
echo -e "\n[g14]\nServer = https://arch.asus-linux.org" | sudo tee -a $LOC
104+
echo -e "\n"
105+
echo -e "Update the system...\n"
106+
sudo pacman -Suy
107+
108+
echo -e "Installing ROG pacakges...\n"
109+
sudo pacman -S --noconfirm asusctl supergfxctl rog-control-center
110+
echo -e "Activating ROG services...\n"
111+
sudo systemctl enable --now power-profiles-daemon.service
112+
sudo systemctl enable --now supergfxd
113+
fi
114+
115+
### Script is done ###
116+
echo -e "Script had completed.\n"
117+
read -n1 -rep 'Would you like to start Hyprland now? (y,n)' HYP
118+
if [[ $HYP == "Y" || $HYP == "y" ]]; then
119+
exec Hyprland
120+
else
121+
echo -e "You can start Hyprland by typing Hyprland (note the capital H). \n"
122+
exit
123+
fi

‎starship.toml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
format = """
2+
[░▒▓](#a3aed2)\
3+
[  ](bg:#a3aed2 fg:#090c0c)\
4+
[](bg:#769ff0 fg:#a3aed2)\
5+
$directory\
6+
[](fg:#769ff0 bg:#394260)\
7+
$git_branch\
8+
$git_status\
9+
[](fg:#394260 bg:#212736)\
10+
$nodejs\
11+
$rust\
12+
$golang\
13+
$php\
14+
[](fg:#212736 bg:#1d2230)\
15+
$time\
16+
[ ](fg:#1d2230)\
17+
\n$character"""
18+
19+
[directory]
20+
style = "fg:#e3e5e5 bg:#769ff0"
21+
format = "[ $path ]($style)"
22+
truncation_length = 3
23+
truncation_symbol = "…/"
24+
25+
[directory.substitutions]
26+
"Documents" = ""
27+
"Downloads" = ""
28+
"Music" = ""
29+
"Pictures" = ""
30+
31+
[git_branch]
32+
symbol = ""
33+
style = "bg:#394260"
34+
format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
35+
36+
[git_status]
37+
style = "bg:#394260"
38+
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
39+
40+
[nodejs]
41+
symbol = ""
42+
style = "bg:#212736"
43+
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
44+
45+
[rust]
46+
symbol = ""
47+
style = "bg:#212736"
48+
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
49+
50+
[golang]
51+
symbol = ""
52+
style = "bg:#212736"
53+
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
54+
55+
[php]
56+
symbol = ""
57+
style = "bg:#212736"
58+
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
59+
60+
[time]
61+
disabled = true
62+
time_format = "%R" # Hour:Minute Format
63+
style = "bg:#1d2230"
64+
format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)'
65+

‎swaylock/config

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
daemonize
2+
show-failed-attempts
3+
clock
4+
screenshot
5+
effect-blur=9x5
6+
effect-vignette=0.5:0.5
7+
color=1f1d2e80
8+
font="Inter"
9+
indicator
10+
indicator-radius=200
11+
indicator-thickness=20
12+
line-color=1f1d2e
13+
ring-color=191724
14+
inside-color=1f1d2e
15+
key-hl-color=eb6f92
16+
separator-color=00000000
17+
text-color=e0def4
18+
text-caps-lock-color=""
19+
line-ver-color=eb6f92
20+
ring-ver-color=eb6f92
21+
inside-ver-color=1f1d2e
22+
text-ver-color=e0def4
23+
ring-wrong-color=31748f
24+
text-wrong-color=31748f
25+
inside-wrong-color=1f1d2e
26+
inside-clear-color=1f1d2e
27+
text-clear-color=e0def4
28+
ring-clear-color=9ccfd8
29+
line-clear-color=1f1d2e
30+
line-wrong-color=1f1d2e
31+
bs-hl-color=31748f
32+
grace=2
33+
grace-no-mouse
34+
grace-no-touch
35+
datestr=%a, %B %e
36+
timestr=%I:%M %p
37+
fade-in=0.2
38+
ignore-empty-password

‎waybar/config.jsonc

+138
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
{
2+
"layer": "top",
3+
"position": "top",
4+
"mod": "dock",
5+
"exclusive": true,
6+
"passthrough": false,
7+
"gtk-layer-shell": true,
8+
"height": 50,
9+
"modules-left": ["clock","custom/weather","wlr/workspaces"],
10+
"modules-center": ["hyprland/window"],
11+
"modules-right": ["network", "bluetooth", "temperature","custom/power_profile","battery","backlight","pulseaudio","pulseaudio#microphone","tray"],
12+
"hyprland/window": {
13+
"format": "{}"
14+
},
15+
16+
"wlr/workspaces": {
17+
"disable-scroll": true,
18+
"all-outputs": true,
19+
"on-click": "activate",
20+
"persistent_workspaces": {
21+
"1": [],
22+
"2": [],
23+
"3": [],
24+
"4": [],
25+
"5": [],
26+
"6": [],
27+
"7": [],
28+
"8": [],
29+
"9": [],
30+
"10": []
31+
}
32+
},
33+
34+
"custom/power_profile":{
35+
//shows the current power profile and switches to next on click
36+
"exec": "asusctl profile -p | sed s:'Active profile is'::",
37+
"interval": 30,
38+
"format": "󰈐{}",
39+
"on-click": "asusctl profile -n; pkill -SIGRTMIN+8 waybar",
40+
"signal": 8
41+
},
42+
43+
"custom/weather" : {
44+
//shows the current weather and forecast
45+
"tooltip" : true,
46+
"format" : "{}",
47+
"interval" : 30,
48+
"exec" : "~/.config/waybar/scripts/waybar-wttr.py",
49+
"return-type" : "json"
50+
},
51+
52+
"tray": {
53+
"icon-size": 18,
54+
"spacing": 10
55+
},
56+
57+
"clock": {
58+
"format": "{: %I:%M %p  %a, %b %e}",
59+
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
60+
},
61+
62+
"backlight": {
63+
"device": "intel_backlight",
64+
"format": "{icon} {percent}%",
65+
"format-icons": ["", "", ""],
66+
"on-scroll-up": "brightnessctl set 1%+",
67+
"on-scroll-down": "brightnessctl set 1%-",
68+
"min-length": 6
69+
},
70+
71+
"battery": {
72+
"states": {
73+
"good": 95,
74+
"warning": 30,
75+
"critical": 20
76+
},
77+
"format": "{icon} {capacity}%",
78+
"format-charging": " {capacity}%",
79+
"format-plugged": " {capacity}%",
80+
"format-alt": "{time} {icon}",
81+
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
82+
},
83+
84+
"pulseaudio": {
85+
"format": "{icon} {volume}%",
86+
"tooltip": false,
87+
"format-muted": " Muted",
88+
"on-click": "pamixer -t",
89+
"on-scroll-up": "pamixer -i 5",
90+
"on-scroll-down": "pamixer -d 5",
91+
"scroll-step": 5,
92+
"format-icons": {
93+
"headphone": "",
94+
"hands-free": "",
95+
"headset": "",
96+
"phone": "",
97+
"portable": "",
98+
"car": "",
99+
"default": ["", "", ""]
100+
}
101+
},
102+
103+
"pulseaudio#microphone": {
104+
"format": "{format_source}",
105+
"format-source": " {volume}%",
106+
"format-source-muted": " Muted",
107+
"on-click": "pamixer --default-source -t",
108+
"on-scroll-up": "pamixer --default-source -i 5",
109+
"on-scroll-down": "pamixer --default-source -d 5",
110+
"scroll-step": 5
111+
},
112+
113+
"temperature": {
114+
"thermal-zone": 1,
115+
"format": "{temperatureF}°F ",
116+
"critical-threshold": 80,
117+
"format-critical": "{temperatureC}°C "
118+
},
119+
120+
"network": {
121+
// "interface": "wlp2*", // (Optional) To force the use of this interface
122+
"format-wifi": " {signalStrength}%",
123+
"format-ethernet": "{ipaddr}/{cidr} ",
124+
"tooltip-format": "{essid} - {ifname} via {gwaddr} ",
125+
"format-linked": "{ifname} (No IP) ",
126+
"format-disconnected": "Disconnected ⚠",
127+
"format-alt": "{ifname}:{essid} {ipaddr}/{cidr}"
128+
},
129+
130+
"bluetooth": {
131+
"format": " {status}",
132+
"format-disabled": "", // an empty format will hide the module
133+
"format-connected": " {num_connections}",
134+
"tooltip-format": "{device_alias}",
135+
"tooltip-format-connected": " {device_enumerate}",
136+
"tooltip-format-enumerate-connected": "{device_alias}"
137+
}
138+
}

‎waybar/scripts/waybar-wttr.py

+119
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
#!/usr/bin/env python
2+
3+
import json
4+
import requests
5+
from datetime import datetime
6+
7+
WEATHER_CODES = {
8+
'113': '☀️ ',
9+
'116': '⛅ ',
10+
'119': '☁️ ',
11+
'122': '☁️ ',
12+
'143': '☁️ ',
13+
'176': '🌧️',
14+
'179': '🌧️',
15+
'182': '🌧️',
16+
'185': '🌧️',
17+
'200': '⛈️ ',
18+
'227': '🌨️',
19+
'230': '🌨️',
20+
'248': '☁️ ',
21+
'260': '☁️ ',
22+
'263': '🌧️',
23+
'266': '🌧️',
24+
'281': '🌧️',
25+
'284': '🌧️',
26+
'293': '🌧️',
27+
'296': '🌧️',
28+
'299': '🌧️',
29+
'302': '🌧️',
30+
'305': '🌧️',
31+
'308': '🌧️',
32+
'311': '🌧️',
33+
'314': '🌧️',
34+
'317': '🌧️',
35+
'320': '🌨️',
36+
'323': '🌨️',
37+
'326': '🌨️',
38+
'329': '❄️ ',
39+
'332': '❄️ ',
40+
'335': '❄️ ',
41+
'338': '❄️ ',
42+
'350': '🌧️',
43+
'353': '🌧️',
44+
'356': '🌧️',
45+
'359': '🌧️',
46+
'362': '🌧️',
47+
'365': '🌧️',
48+
'368': '🌧️',
49+
'371': '❄️',
50+
'374': '🌨️',
51+
'377': '🌨️',
52+
'386': '🌨️',
53+
'389': '🌨️',
54+
'392': '🌧️',
55+
'395': '❄️ '
56+
}
57+
58+
data = {}
59+
60+
61+
weather = requests.get("https://wttr.in/?format=j1").json()
62+
63+
64+
def format_time(time):
65+
return time.replace("00", "").zfill(2)
66+
67+
68+
def format_temp(temp):
69+
return (hour['FeelsLikeF']+"°").ljust(3)
70+
71+
72+
def format_chances(hour):
73+
chances = {
74+
"chanceoffog": "Fog",
75+
"chanceoffrost": "Frost",
76+
"chanceofovercast": "Overcast",
77+
"chanceofrain": "Rain",
78+
"chanceofsnow": "Snow",
79+
"chanceofsunshine": "Sunshine",
80+
"chanceofthunder": "Thunder",
81+
"chanceofwindy": "Wind"
82+
}
83+
84+
conditions = []
85+
for event in chances.keys():
86+
if int(hour[event]) > 0:
87+
conditions.append(chances[event]+" "+hour[event]+"%")
88+
return ", ".join(conditions)
89+
90+
tempint = int(weather['current_condition'][0]['FeelsLikeF'])
91+
extrachar = ''
92+
if tempint > 0 and tempint < 10:
93+
extrachar = '+'
94+
95+
96+
data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \
97+
" "+extrachar+weather['current_condition'][0]['FeelsLikeF']+"°"
98+
99+
data['tooltip'] = f"<b>{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_F']}°</b>\n"
100+
data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeF']}°\n"
101+
data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
102+
data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
103+
for i, day in enumerate(weather['weather']):
104+
data['tooltip'] += f"\n<b>"
105+
if i == 0:
106+
data['tooltip'] += "Today, "
107+
if i == 1:
108+
data['tooltip'] += "Tomorrow, "
109+
data['tooltip'] += f"{day['date']}</b>\n"
110+
data['tooltip'] += f"⬆️ {day['maxtempF']}° ⬇️ {day['mintempF']}° "
111+
data['tooltip'] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
112+
for hour in day['hourly']:
113+
if i == 0:
114+
if int(format_time(hour['time'])) < datetime.now().hour-2:
115+
continue
116+
data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeF'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
117+
118+
119+
print(json.dumps(data))

‎waybar/style.css

+153
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
* {
2+
border: none;
3+
border-radius: 0;
4+
font-family: "JetBrainsMono Nerd Font";
5+
font-weight: bold;
6+
font-size: 16px;
7+
min-height: 0;
8+
}
9+
10+
window#waybar {
11+
background: rgba(21, 18, 27, 0);
12+
color: #cdd6f4;
13+
}
14+
15+
tooltip {
16+
background: #1e1e2e;
17+
border-radius: 10px;
18+
border-width: 2px;
19+
border-style: solid;
20+
border-color: #11111b;
21+
}
22+
23+
#workspaces button {
24+
padding: 5px;
25+
color: #313244;
26+
margin-right: 5px;
27+
}
28+
29+
#workspaces button.active {
30+
color: #a6adc8;
31+
}
32+
33+
#workspaces button.focused {
34+
color: #a6adc8;
35+
background: #eba0ac;
36+
border-radius: 10px;
37+
}
38+
39+
#workspaces button.urgent {
40+
color: #11111b;
41+
background: #a6e3a1;
42+
border-radius: 10px;
43+
}
44+
45+
#workspaces button:hover {
46+
background: #11111b;
47+
color: #cdd6f4;
48+
border-radius: 10px;
49+
}
50+
51+
#custom-power_profile,
52+
#custom-weather,
53+
#window,
54+
#clock,
55+
#battery,
56+
#pulseaudio,
57+
#network,
58+
#bluetooth,
59+
#temperature,
60+
#workspaces,
61+
#tray,
62+
#backlight {
63+
background: #1e1e2e;
64+
opacity: 0.8;
65+
padding: 0px 10px;
66+
margin: 3px 0px;
67+
margin-top: 10px;
68+
border: 1px solid #181825;
69+
}
70+
71+
#temperature {
72+
border-radius: 10px 0px 0px 10px;
73+
}
74+
75+
#temperature.critical {
76+
color: #eba0ac;
77+
}
78+
79+
#backlight {
80+
border-radius: 10px 0px 0px 10px;
81+
}
82+
83+
#tray {
84+
border-radius: 10px;
85+
margin-right: 10px;
86+
}
87+
88+
#workspaces {
89+
background: #1e1e2e;
90+
border-radius: 10px;
91+
margin-left: 10px;
92+
padding-right: 0px;
93+
padding-left: 5px;
94+
}
95+
96+
#custom-power_profile {
97+
color: #a6e3a1;
98+
border-left: 0px;
99+
border-right: 0px;
100+
}
101+
102+
#window {
103+
border-radius: 10px;
104+
margin-left: 60px;
105+
margin-right: 60px;
106+
}
107+
108+
#clock {
109+
color: #fab387;
110+
border-radius: 10px 0px 0px 10px;
111+
margin-left: 10px;
112+
border-right: 0px;
113+
}
114+
115+
#network {
116+
color: #f9e2af;
117+
border-radius: 10px 0px 0px 10px;
118+
border-left: 0px;
119+
border-right: 0px;
120+
}
121+
122+
#bluetooth {
123+
color: #89b4fa;
124+
border-radius: 0px 10px 10px 0px;
125+
margin-right: 10px
126+
}
127+
128+
#pulseaudio {
129+
color: #89b4fa;
130+
border-left: 0px;
131+
border-right: 0px;
132+
}
133+
134+
#pulseaudio.microphone {
135+
color: #cba6f7;
136+
border-left: 0px;
137+
border-right: 0px;
138+
border-radius: 0px 10px 10px 0px;
139+
margin-right: 10px;
140+
}
141+
142+
#battery {
143+
color: #a6e3a1;
144+
border-radius: 0 10px 10px 0;
145+
margin-right: 10px;
146+
border-left: 0px;
147+
}
148+
149+
#custom-weather {
150+
border-radius: 0px 10px 10px 0px;
151+
border-right: 0px;
152+
margin-left: 0px;
153+
}

‎wofi/config

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
width=600
2+
height=350
3+
location=center
4+
show=drun
5+
prompt=Search...
6+
filter_rate=100
7+
allow_markup=true
8+
no_actions=true
9+
halign=fill
10+
orientation=vertical
11+
content_halign=fill
12+
insensitive=true
13+
allow_images=true
14+
image_size=40
15+
gtk_dark=true

‎wofi/style.css

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
window {
2+
margin: 0px;
3+
border: 5px solid #1e1e2e;
4+
background-color: #cdd6f4;
5+
border-radius: 15px;
6+
}
7+
8+
#input {
9+
padding: 4px;
10+
margin: 4px;
11+
padding-left: 20px;
12+
border: none;
13+
color: #cdd6f4;
14+
font-weight: bold;
15+
background-color: #1e1e2e;
16+
background: ;
17+
outline: none;
18+
border-radius: 15px;
19+
margin: 10px;
20+
margin-bottom: 2px;
21+
}
22+
#input:focus {
23+
border: 0px solid #1e1e2e;
24+
margin-bottom: 0px;
25+
}
26+
27+
#inner-box {
28+
margin: 4px;
29+
border: 10px solid #1e1e2e;
30+
color: #cdd6f4;
31+
font-weight: bold;
32+
background-color: #1e1e2e;
33+
border-radius: 15px;
34+
}
35+
36+
#outer-box {
37+
margin: 0px;
38+
border: none;
39+
border-radius: 15px;
40+
background-color: #1e1e2e;
41+
}
42+
43+
#scroll {
44+
margin-top: 5px;
45+
border: none;
46+
border-radius: 15px;
47+
margin-bottom: 5px;
48+
/* background: rgb(255,255,255); */
49+
}
50+
51+
#img:selected {
52+
background-color: #89b4fa;
53+
border-radius: 15px;
54+
}
55+
56+
#text:selected {
57+
color: #cdd6f4;
58+
margin: 0px 0px;
59+
border: none;
60+
border-radius: 15px;
61+
background-color: #89b4fa;
62+
}
63+
64+
#entry {
65+
margin: 0px 0px;
66+
border: none;
67+
border-radius: 15px;
68+
background-color: transparent;
69+
}
70+
71+
#entry:selected {
72+
margin: 0px 0px;
73+
border: none;
74+
border-radius: 15px;
75+
background-color: #89b4fa;
76+
}

0 commit comments

Comments
 (0)
Please sign in to comment.