Compare commits

..

No commits in common. "6e6f8200377beb8117f42c94b3daa4cc1db07d7a" and "fe4c868f9580126344af4a88c4730bcc760a6985" have entirely different histories.

53 changed files with 1159 additions and 2647 deletions

View file

@ -4,7 +4,7 @@ This project is an automated installer for the Atlas Desktop.
## Disclaimer
### ⚠ Use at your own risk.
### ⚠ This is still a WIP project. Use at your own risk.
Some platforms may not yet be supported such as Nvidia graphic cards for which you'll have to install all the drivers yourself. Sadly I don't have any equipment to test that out.
@ -26,25 +26,16 @@ Very simple, clone the project (or download it directly from the web interface)
```sh=
git clone https://forge.oblic-parallels.fr/guillm/atlas-install
```
And run `setup.sh`
Make `setup.sh` executable
```sh=
chmod u+x setup.sh
```
And run it
```sh=
./setup.sh
```
Then just follow the instructions and you should be good to go !
If you encounter any error or bug, don't hesitate to open an issue on this repo.
## Configuration
I suggest you to give a look to the packages that will be installed on your system as it's important to know how things will work or to disable some things you wouldn't necessarely want.
I particularly think of helix which is used as the default text editor but may not suit some people needs.
Note that the default keyboard layout is QWERTY (us-fr). You can switch with the AZERTY layout by using `Mod+Ctrl+Space`. That said, the default layout already has french accents if you need them.
If you need to modify the layout, go to `~/.config/hypr/config/default/kb_layouts`.
### Defaults
I'm working on a system to easily change the default programs. I don't know yet if it will result into anything but it's worth trying.
That said I suggest you to give a look to the packages that will be installed on your system as it's important to know how things will work or to disable some things you wouldn't necessarely want.
## Future improvements

View file

@ -0,0 +1,72 @@
[General]
hotkey=Alt+Space
prioritizePerfectMatch=true
showTray=false
telemetry=false
[albert]
global_handler_enabled=false
trigger=albert
[applications]
enabled=true
fuzzy=true
terminal=kitty
use_generic_name=false
use_keywords=true
[caffeine]
enabled=false
[calculator_qalculate]
enabled=true
[clipboard]
enabled=true
persistent=true
[files]
enabled=false
paths=@Invalid()
[hash]
enabled=true
trigger=#
[mpris]
enabled=true
trigger=mp
[path]
enabled=true
[snippets]
enabled=false
[ssh]
enabled=true
[system]
command_lock=hyprlock
command_poweroff=poweroff
command_reboot=reboot
enabled=true
trigger=sys
[triggers]
trigger=?
[widgetsboxmodel]
alwaysOnTop=true
clearOnHide=false
clientShadow=false
darkTheme=Seventy Eight
displayScrollbar=false
followCursor=true
hideOnFocusLoss=true
historySearch=true
itemCount=5
lightTheme=Seventy Eight
quitOnClose=false
showCentered=true
systemShadow=true

View file

@ -0,0 +1,108 @@
/*
* original author: Manuel Schneider <https://github.com/ManuelSchneid3r>
* modified by : Gu://em_
*
* Check http://doc.qt.io/qt-5/stylesheet-syntax.html especially the subtopics:
* The Style Sheet Syntax (http://doc.qt.io/qt-5/stylesheet-syntax.html)
* Qt Style Sheets Reference (http://doc.qt.io/qt-5/stylesheet-reference.html)
*/
* {
border: none;
color: #98C1D9;
background-color: #293241;
}
#frame {
background-color: none;
border: none;
max-width:640px;
min-width:640px;
padding: 10px; /* to have a drag handle */
}
#inputLine {
border-radius: 8px;
border: 1px solid #4C566A;
color: #EE6C4D;
font-size: 26px;
padding: 8px;
selection-background-color: #EE6C4D;
selection-color: #E0FBFC;
}
#settingsButton {
background-color: none;
color: #4C566A;
max-height: 13px;
max-width: 13px;
min-height: 13px;
min-width: 13px;
padding: 16px;
}
QListView {
border-radius: 8px;
border: 1px solid #4C566A;
color: #E0FBFC;
margin-top: 4px;
selection-background-color: #3D5A80;
selection-color: #E0FBFC;
}
QListView::item {
border-radius: 6px;
padding: 4px;
}
QListView::item:selected {
background-color: #3D5A80;
}
QListView#resultsList {
font-size: 20px;
icon-size: 34px;
padding: 4px 8px 4px 8px;
}
QListView#resultsList::item {
margin: 4px 0px 4px 0px;
height: 44px;
}
QListView#actionList {
font-size: 16px;
padding: 6px 8px 6px 8px;
}
QListView#actionList::item {
margin: 2px 0px 2px 0px;
}
QListView QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical,
QListView QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical,
QListView QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
background: transparent;
border: 0px;
height: 0px;
width: 0px;
}
QListView QScrollBar:vertical {
background: transparent;
margin: 8px 0px 8px 0px;
width: 2px;
}
QListView QScrollBar::handle:vertical {
background: #4C566A;
min-height: 24px;
}

View file

@ -1,18 +0,0 @@
/* Swaync */
@define-color active #e64e4e;
@define-color background_dark #1c2128;
@define-color background_light #22272e;
@define-color background_transparent alpha(#18191c, 0.7);
@define-color foreground #e4e8ed;
@define-color border #333940;
@define-color alert #ea4545;
/* Waybar */
@define-color foreground #e4e8ed;
@define-color background #18191c;
/* @define-color accentColor #b6c8d3; */
@define-color accentColor #ec775c;
@define-color charging #6bc46d;

View file

@ -1,3 +0,0 @@
#$active_color = rgba(f55c20ff)
$active_color = rgba(de3c3cff)
$inactive_color = rgba(595959aa)

View file

@ -1,62 +0,0 @@
# vim:ft=kitty
## name: 78
## author: Gu://em_ (forked from Github Dark Dimmed)
## license: MIT
#: The basic colors
foreground #adbac7
background #14171F
#background #111317
selection_foreground #EE6C4D
selection_background #3D5A80
#: Cursor colors
cursor #adbac7
#: Tab bar colors
tab_bar_background #22272e
active_tab_foreground #adbac7
active_tab_background #ec775c
inactive_tab_foreground #adbac7
inactive_tab_background #1C2128
#: The basic 16 colors
#: black
color0 #545d68
color8 #636e7b
#: red
color1 #f47067
color9 #ff938a
#: green
color2 #57ab5a
color10 #6bc46d
#: yellow
color3 #c69026
color11 #daaa3f
#: blue
color4 #539bf5
color12 #6cb6ff
#: magenta
color5 #b083f0
color13 #dcbdfb
#: cyan
color6 #39c5cf
color14 #56d4dd
#: white
color7 #909dab
color15 #cdd9e5

View file

@ -0,0 +1,66 @@
# -*- conf -*-
# For documentation on these options, see `man fnott.ini`
# Global values
# output=<undefined>#
min-width=200
# max-width=0
# max-height=0
# stacking-order=bottom-up
anchor=top-right
edge-margin-vertical=10
edge-margin-horizontal=10
notification-margin=10
icon-theme=Papirus
# max-icon-size=32
# selection-helper=dmenu
# selection-helper-uses-null-separator=no
# play-sound=aplay ${filename}
# Default values, may be overridden in 'urgency' specific sections
layer=top
background=293241FF
border-color=EE6C4DFF
border-radius=0
border-size=2
padding-vertical=20
padding-horizontal=20
dpi-aware=yes
title-font=monospace
title-color=ffffffff
title-format=<i>%a%A</i>
summary-font=monospace
summary-color=ffffffff
summary-format=<b>%s</b>\n
body-font=monospace
body-color=ffffffff
body-format=%b
progress-bar-height=20
progress-bar-color=ffffffff
# sound-file=
# icon=
# Timeout values are in seconds. 0 to disable
max-timeout=0
default-timeout=0
idle-timeout=0
# [low]
# background=2b2b2bff
# title-color=888888ff
# summary-color=888888ff
# body-color=888888ff
# [normal]
# [critical]
# background=6c3333ff

View file

@ -1,8 +0,0 @@
[main]
shell=zsh
font=JetBrains Mono Nerd Font:size=14:style=Light
include=~/.config/foot/github-dark.ini
[cursor]
style=beam
blink=true

View file

@ -1,41 +0,0 @@
# -*- conf -*-
# Github Dark
# By Gu://em_
[colors-dark]
# alpha = 0.9
background= 0d1117
foreground= c9d1d9
#: black
regular0= 484f58
bright0= 6e7681
#: red
regular1= ff7b72
bright1= ffa198
#: green
regular2= 3fb950
bright2= 56d364
#: yellow
regular3= d29922
bright3= e3b341
#: blue
regular4= 58a6ff
bright4= 79c0ff
#: magenta
regular5= bc8cff
bright5= d2a8ff
#: cyan
regular6= 39c5cf
bright6= 56d4dd
#: white
regular7= b1bac4
bright7= ffffff

View file

@ -1,5 +0,0 @@
theme = "github_dark"
# theme = "adwaita-light"
[editor]
line-number = "relative"

View file

@ -3,12 +3,14 @@
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
source = ~/.config/hypr/config/colors.conf
$active_color = rgba(98C1D9FF)
$inactive_color = rgba(595959aa)
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 1
gaps_out = 1
gaps_out = 0
border_size = 1
@ -44,52 +46,15 @@ decoration {
blur {
enabled = true
size = 6
passes = 4
passes = 3
vibrancy = 0.1696
}
}
# Layer rules
layerrule {
name = side-panel
blur = on
ignore_alpha = 0.2
animation = slide right
dim_around = on
match:namespace = ^(swaync-control-center)$
}
layerrule {
name = launcher
blur = off
animation = popin 90%
match:namespace = ^(rofi)$
}
layerrule {
name = status-bar
blur = off
animation = slide up
match:namespace = ^(waybar)$
}
layerrule {
name = screenshot-selection
blur = off
animation = fade
match:namespace = ^(selection)$
}
## Old
# layerrule = blur, swaync-control-center
# layerrule = blur, swaync-notification-window
# layerrule = ignorezero, swaync-control-center
# layerrule = ignorezero, swaync-notification-window
# layerrule = ignorealpha 0.5, swaync-control-center
# layerrule = ignorealpha 0.5, swaync-notification-window
# Apply blur to waybar
layerrule = blur,waybar
# https://wiki.hyprland.org/Configuring/Variables/#animations
@ -109,7 +74,7 @@ animations {
# Animations
animation = global, 1, 10, default
animation = border, 1, 4, easeOutQuint
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 3.79, easeOutQuint
animation = windowsIn, 1, 3.1, easeOutQuint, popin 87%
@ -120,12 +85,12 @@ animations {
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 3, easeOutQuint, popin 85%
animation = layersOut, 1, 3, linear, popin
# animation = fadeLayersIn, 1, 1.79, almostLinear
# animation = fadeLayersOut, 1, 1.39, almostLinear
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 2.2 , easeOutQuint, slidefadevert
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 3, easeOutQuint, slide
animation = workspacesOut, 1, 3, easeOutQuint, slide
@ -170,107 +135,32 @@ misc {
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule {
name = suppress-maximize-events
suppress_event = maximize
match:class = .*
}
windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrule {
name = fix-xwayland-drags
match:class = ^$
match:title = ^$
match:xwayland = true
match:float = true
match:fullscreen = false
match:pin = false
no_focus = true
}
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Albert
windowrule {
name = albert
border_size = 0
no_blur = on
no_shadow = on
float = on
stay_focused = on
no_dim = on
match:class = ^(albert)$
}
windowrule=noborder,class:^(albert)$
windowrule=noblur,class:^(albert)$
windowrule=noshadow,class:^(albert)$
windowrule=float,class:^(albert)$
windowrule=stayfocused,class:^(albert)$
windowrule=nodim,class:^(albert)$
# Prism Launcher
windowrule {
name = prismlauncher-all
pseudo = on
match:class = (org.prismlauncher.PrismLauncher)
}
windowrule {
name = prismlauncher-main
size = (monitor_w*0.65) (monitor_h*0.7)
match:class = (org.prismlauncher.PrismLauncher)
match:title = ^(Prism Launcher .*)$
}
# Nautilus
windowrule {
name = nautilus-main
pseudo = on
size = (monitor_w*0.65) (monitor_h*0.7)
match:class = (org.gnome.Nautilus) # initialTitle:^(Loading…)$
}
# GTK file picker
windowrule {
name = gtk-file-picker
float = on
size = (monitor_w*0.65) (monitor_h*0.7)
match:class = (xdg-desktop-portal-gtk)
}
# Vivado
## Loading screen
windowrule {
name = vivado-loading-screen
float = on
center = on
match:class = (ui-PlanAhead)
}
windowrule {
name = vivado-loading-screen-2
size = 397 295
match:class = (ui-PlanAhead) title:^(win0)$
}
## Main window
windowrule {
name = vivado-main
tile = on
match:class = (Vivado)
}
# Kdenlive
windowrule {
name = kdenlive-all
pseudo = on
match:class = (org.kde.kdenlive)
}
windowrule {
name = kdenlive-welcome
size = (512) (544)
match:class = (org.kde.kdenlive) # initialTitle:^(Kdenlive)$
}
windowrule=pseudo, class:(org.prismlauncher.PrismLauncher)
windowrule=size 65% 70%, class:(org.prismlauncher.PrismLauncher), title:^(Prism Launcher .*)$
# TODO Automatically fullscreen single apps
# - Seems impossible for now (try mixing with workspace rules)
# Default size for floating windows
## TODO
#windowrulev2 = size 100 100,floating:1
# Increase gaps for single apps
## Usless since I changed the default gap but may be useful if you decide to reset it to 0
#workspace=w[t1], gapsout:2
workspace=w[t1], gapsout:2

View file

@ -1 +0,0 @@
../../../colors/hyprland.conf

View file

@ -5,10 +5,10 @@
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = foot
$fileManager = nautilus
$menu = rofi -show drun
$notificationManager = swaync-client -t
$terminal = kitty
$fileManager = cosmic-files
$menu = albert toggle
$notificationsManager = fnott
#################

View file

@ -18,7 +18,9 @@ input {
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gesture = 3, horizontal, workspace
gestures {
workspace_swipe = true
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
@ -44,17 +46,14 @@ bind = $mainMod, D, exec, $menu # Legacy menu shortcut
bind = $mainMod, L, exec, hyprlock # Lockscreen
bind = $mainMod, B, exec, ~/.config/hypr/scripts/toggle-waybar.sh # Toggle sidebar
bind = $mainMod SHIFT, R, exec, ~/.config/hypr/scripts/reload.sh # Reload desktop
bind = $mainMod, F11, exec, ~/.config/hypr/scripts/game-mode.sh # Gamemode
bind = $mainMod, F10, exec, ~/.config/hypr/scripts/sharp-mode.sh # Sharp mode
bind = $mainMod, F11, exec, ~/.config/hypr/scripts/gamemode.sh # Gamemode
bind = $mainMod SHIFT, M, exit, # Exit desktop session
# Shortcuts
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, X, exec, $terminal # Absolutely not because I dislocated my arm
bind = $mainMod, SPACE, exec, $menu
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, A, exec, $notificationManager
bindel = , XF86Launch1, exec, $terminal hx ~/.config/hypr/config # Replace by default editor
bindel = , XF86Launch1, exec, kitty vim ~/.config/hypr/config
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
@ -62,12 +61,6 @@ bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Move windows with mainMod + shift + arrow keys
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# Layout
bind = $mainMod, F, fullscreen,
bind = $mainMod, V, togglesplit, # Horizontal/vertical split
@ -141,10 +134,6 @@ bindl = , XF86AudioPrev, exec, playerctl previous
## Screenshot
bind = , Print, exec, ~/.config/hypr/scripts/screenshot.sh
bind = SHIFT, Print, exec, ~/.config/hypr/scripts/screenshot.sh --fullscreen
# Color picker
bind = $mainMod SHIFT, C, exec, hyprpicker -a
## Touchpad toggle
### On galaxy books, pressing the disable touchpad key also triggers SUPER and
@ -155,9 +144,3 @@ bind = SUPER CONTROL, XF86TouchpadToggle, exec, ~/.config/hypr/scripts/toggle-to
### Only works between AZERTY and QWERTY because of differences in the numbers row
### that prevent using the default way provided by hyprland
bind = $mainMod CONTROL, SPACE, exec, ~/.config/hypr/scripts/change-kb-layout.sh
# Lock laptop on lid close
bindl=,switch:off:Lid Switch, exec, hyprlock --immediate
## Overview plugin
#bind = $mainMod, TAB, overview:toggle, toggle

View file

@ -1,8 +1,8 @@
## Overrides inputs for QWERTY layout
input {
kb_layout = fr
kb_variant = us
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =

View file

@ -10,3 +10,6 @@ plugin {
gapsOut = 20
}
}
# Toggle overview (Read plugins section in wiki before decommenting)
# bind = $mainMod, TAB, overview:toggle, toggle

View file

@ -1,21 +0,0 @@
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
# All screens
monitorv2 {
output =
mode = preferred
position = auto-up
scale = auto
}
# Laptop screen
monitorv2 {
output = eDP-1
mode = preferred
position = auto-down
scale = 1
}

View file

@ -1,23 +0,0 @@
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
# Laptop screen
monitorv2 {
output = eDP-1 # <- You may need to change that
mode = preferred
position = 0x0
scale = 1
}
# Other monitors (mirror laptop screen)
monitorv2 {
output = *
mode = preferred
position = auto
scale = 1
mirror = eDP-1 # <- Also don't forget this one
}

View file

@ -1,14 +1,12 @@
# BACKGROUND
background {
monitor =
path = ~/.config/hypr/images/wallpaper.jpg
blur_passes = 3
blur_size = 4
noise = 0.0
contrast = 0.7
brightness = 0.8172
vibrancy = 0.2
vibrancy_darkness = 0.0
path = ~/.config/hypr/images/lockscreen.jpg
blur_passes = 0
#contrast = 0.8916
#brightness = 0.8172
#vibrancy = 0.1696
#vibrancy_darkness = 0.0
}
# GENERAL
@ -28,12 +26,12 @@ input-field {
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(200, 200, 200, 0.4)
outer_color = rgba(200, 200, 200, 1)
inner_color = rgba(100, 114, 125, 1)
font_color = rgb(200, 200, 200)
fade_on_empty = false
font_family = DejaVu Sans
placeholder_text = <i><span foreground="##ffffff99">Enter password</span></i>
placeholder_text = <i><span foreground="##ffffff99">Enter Pass</span></i>
hide_input = false
position = 0, -350
halign = center
@ -43,6 +41,7 @@ input-field {
# Time
label {
monitor =
#text = cmd[update:1000] echo "<span>$(date +"%H:%M")</span>"
text = $TIME
color = rgba(216, 222, 233, 1)
font_size = 130
@ -50,6 +49,9 @@ label {
position = 0, 280
halign = center
valign = center
# TODO make shadowing work
#shadow_passes = 10
#shadow_size = 3
}
# Day-Month-Date
@ -81,37 +83,13 @@ label {
#}
# USER
label {
monitor =
text = $USER
color = rgba(216, 222, 233, 0.70)
font_size = 20
font_family = JetbrainsMonoNL NF
position = 0, -200
halign = center
valign = center
}
# Timer
label {
monitor =
text = cmd[update:0] echo "Locked since $TIME"
color = rgba(216, 222, 233, 0.40)
font_size = 20
font_family = JetbrainsMonoNL NF
position = 0, -250
halign = center
valign = center
}
# # Failed login attempts
#label {
# monitor =
# text = cmd[update:1000] echo "$ATTEMPTS Failed attempts"
# color = rgba(216, 222, 233, 0.40)
# text = Hi, $USER
# color = rgba(216, 222, 233, 0.70)
# font_size = 20
# font_family = JetbrainsMonoNL NF
# position = 0, -250
# font_family = DejaVu Sans
# position = 0, -200
# halign = center
# valign = center
#}
@ -122,7 +100,7 @@ label {
text = cmd[update:1000] echo "$(~/.config/hypr/scripts/songdetails.sh)"
color = rgba(255, 255, 255, 0.7)
font_size = 16
font_family = JetbrainsMonoNL NF
font_family = DejaVu Sans
position = 0, 20
halign = center
valign = bottom

View file

@ -1,6 +1,2 @@
wallpaper {
monitor =
path = ~/.config/hypr/images/wallpaper.jpg
}
splash = false
preload = ~/.config/hypr/images/wallpaper.png
wallpaper = , ~/.config/hypr/images/wallpaper.png

View file

@ -1,12 +0,0 @@
max-gamma = 150
profile {
time = 8:00
identity = true
}
profile {
time = 21:00
temperature = 5500
gamma = 0.8
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 887 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 MiB

View file

@ -5,8 +5,8 @@
# If you want to add your own applications you may rather want to use exec-once in the environment.conf file
hyprpaper &
# Enable this if you want to use plugins
# hyprpm reload &
swaync &
hyprpm reload -nn &
albert &
# mako &
systemctl --user start hyprpolkitagent &
~/.config/hypr/scripts/restore-waybar.sh

View file

@ -21,8 +21,9 @@ en_to_fr() {
}
if ! [ -f "${status_file}" ]; then
hyprctl notify 3 3000 0 "Status file missing"
hyprctl notify 2 6000 0 "Use Mod + Ctrl + Space to change keyboard layout"
fr_to_en
en_to_fr
else
if [ $(cat "${status_file}") = "fr" ]; then
fr_to_en

View file

@ -1,6 +1,6 @@
killall albert
killall hyprpaper
killall waybar
killall swaync
hyprctl reload

View file

@ -1,13 +1 @@
save_path=$HOME/Pictures/Screenshots/$(date +'%F_%T.png')
if [ $# -eq 0 ]; then
grim -g "$(slurp)" $save_path && hyprctl notify 1 2000 0 "Screenshot saved!"
elif [ $# -eq 1 ]; then
if [[ $1 == "--fullscreen" ]]; then
grim $save_path && hyprctl notify 1 2000 0 Screenshot saved!
fi
fi
exit 0
grim -g "$(slurp)" $HOME/Pictures/Screenshots/$(date +'%F_%T.png') && hyprctl notify 1 2000 0 Screenshot saved!

View file

@ -1,21 +0,0 @@
#!/usr/bin/env sh
# Disables animations accros the desktop (as well as some other tweaks)
# Similar to game mode but with the goal to enhance productivity
# From Hyprland documentation - https://wiki.hyprland.org/0.41.2/Configuring/Uncommon-tips--tricks/#toggle-animationsbluretc-hotkey
HYPRSHARPMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
if [ "$HYPRSHARPMODE" = 1 ] ; then
hyprctl --batch "\
keyword animations:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
hyprctl notify 1 2000 0 "Enabled Sharp mode"
exit
fi
hyprctl reload
# ~/.config/hypr/scripts/restore-waybar.sh
hyprctl notify 1 2000 0 "Disabled Sharp mode"

View file

@ -1 +1 @@
en
fr

View file

@ -1,17 +0,0 @@
@theme "~/.local/share/rofi/themes/boussole.rasi"
configuration {
modi: "drun,run";
display-drun: "Applications";
display-run: "Run";
drun-display-format: "{icon} {name}";
sort: true;
sorting-method: "fzf";
/* Icons */
show-icons: true;
icon-theme: "Papirus";
}

View file

@ -1,4 +0,0 @@
@theme "~/.local/share/rofi/themes/boussole.rasi"
configuration {
terminal: "foot";
}

View file

@ -1 +0,0 @@
../colors/colors.css

View file

@ -1,113 +0,0 @@
{
"$schema": "/etc/xdg/swaync/configSchema.json",
"positionX": "right",
"positionY": "top",
"layer": "overlay",
"control-center-layer": "top",
"layer-shell": true,
"cssPriority": "application",
"control-center-width": 350,
"control-center-margin-top": 2,
"control-center-margin-bottom": 2,
"control-center-margin-right": 2,
"control-center-margin-left": 2,
"notification-2fa-action": true,
"notification-inline-replies": true,
"notification-window-width": 350,
"notification-icon-size": 60,
"notification-body-image-height": 180,
"notification-body-image-width": 180,
"timeout": 4,
"timeout-low": 2,
"timeout-critical": 0,
"fit-to-screen": true,
"keyboard-shortcuts": true,
"image-visibility": "when available",
"transition-time": 200,
"hide-on-clear": false,
"hide-on-action": true,
"script-fail-notify": true,
"widgets": [
"title",
"notifications",
"mpris",
"volume",
"backlight",
"buttons-grid"
],
"widget-config": {
"title": {
"text": "Notification Center",
"clear-all-button": true,
"button-text": "󰆴"
},
"label": {
"max-lines":1,
"text": "Notification Center!"
},
"mpris": {
"image-size": 80,
"image-radius": 0
},
"volume": {
"label": "󰕾 "
},
"backlight": {
"label": "󰃟 "
},
"buttons-grid": {
"actions": [
{
"label": "󰝟",
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"type": "toggle"
},
{
"label": "󰍭",
"command": "pactl set-source-mute @DEFAULT_SOURCE@ toggle",
"type": "toggle"
},
{
"label": "",
"command": "rofi-wifi"
},
{
"label": "",
"command": "rofi-bluetooth"
},
{
"label":"󰤄",
"command": "swaync-client -d",
"type":"toggle"
},
{
"label": "",
"command": "foot hx ~/.config/hypr"
},
{
"label": "",
"command": "foot btop"
},
{
"label": "",
"command": "hyprlock"
},
{
"label":"",
"command": "reboot"
},
{
"label":"",
"command": "shutdown now"
}
]
}
}
}

View file

@ -1,486 +0,0 @@
@import url('colors.css');
@define-color control-background alpha(@background_dark, 0.8);
* {
all: unset;
font-family: JetBrainsMono Nerd Font Propo;
transition: 0.1s;
font-size: 1.3rem;
}
/*--------------- Notifications ---------------*/
.floating-notifications.background .notification-row {
padding: 0.5rem;
}
.floating-notifications.background .notification-row .notification-background {
border-radius: 0.3rem;
background-color: @background_light;
color: @foreground;
border: 1px solid @border;
}
.floating-notifications.background
.notification-row
.notification-background
.notification {
padding: 0.6rem;
border-radius: 0.2rem;
}
.floating-notifications.background
.notification-row
.notification-background
.notification.critical {
border: 1px solid @alert;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.summary {
margin: 0.2rem;
color: @foreground;
font-weight: bold;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
.notification-content
.body {
margin: 0.2rem;
color: @foreground;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3rem;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 0.2rem;
color: @foreground;
background-color: @background_dark;
border: 1px solid @border;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
background-color: #26233a;
}
.floating-notifications.background
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
background-color: @border;
}
.floating-notifications.background
.notification-row
.notification-background
.close-button {
margin: 0.2rem;
padding: 0.25rem;
border-radius: 0.2rem;
color: @foreground;
background-color: alpha(@alert, 0);
}
.floating-notifications.background
.notification-row
.notification-background
.close-button:hover {
/* color: #191724; */
background-color: @alert;
}
.floating-notifications.background
.notification-row
.notification-background
.close-button:active {
background-color: @foreground;
}
/*--------------- Control center ---------------*/
.control-center {
border-radius: .4rem;
background-color: @background_transparent;
color: @foreground;
padding: 1.2rem;
border: 1px solid @border;
}
.control-center .widget-title {
color: @foreground;
font-weight: bold;
}
.control-center .widget-title button {
border-radius: 2rem;
color: @foreground;
background-color: @border;
border: 1px solid @border;
padding: .2rem 1.5rem;
}
.control-center .widget-title button:hover {
background-color: @alert;
}
.control-center .widget-title button:active {
background-color: @border;
}
.control-center .notification-row .notification-background {
border-radius: 0.5rem;
margin: 0.5rem;
background-color: @background_light;
color: @foreground;
border: 1px solid @border;
}
.control-center .notification-row .notification-background .notification {
padding: 0.7rem;
border-radius: 0.2rem;
}
.control-center
.notification-row
.notification-background
.notification.critical {
border: 1px solid @alert;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content {
color: @foreground;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content
.summary {
margin: 0.2rem;
color: @foreground;
font-weight: bold;
}
.control-center
.notification-row
.notification-background
.notification
.notification-content
.body {
margin: 0.2rem;
color: @foreground;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> * {
min-height: 3rem;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action {
border-radius: 0.2rem;
color: @foreground;
background-color: #1f1d2e;
border: 1px solid @border;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:hover {
background-color: @background_light;
}
.control-center
.notification-row
.notification-background
.notification
> *:last-child
> *
.notification-action:active {
background-color: @border;
}
.control-center .notification-row .notification-background .close-button {
margin: 0.5rem;
padding: 0.25rem;
border-radius: 0.2rem;
color: @foreground;
background-color: alpha(@alert, 0);
}
.control-center .notification-row .notification-background .close-button:hover {
background-color: @alert;
}
.control-center
.notification-row
.notification-background
.close-button:active {
background-color: @foreground;
}
progressbar,
progress,
trough {
border-radius: 0.2rem;
}
.notification.critical progress {
background-color: @alert;
}
.notification.low progress,
.notification.normal progress {
background-color: #9ccfd8;
}
trough {
background-color: #1f1d2e;
}
.control-center trough {
background-color: @border;
}
.control-center-dnd {
margin: 1rem 0;
border-radius: 0.2rem;
}
.control-center-dnd slider {
background: #26233a;
border-radius: 0.2rem;
}
.widget-dnd {
color: #908caa;
}
.widget-dnd > switch {
border-radius: 0.2rem;
background: #26233a;
border: 1px solid @border;
}
.widget-dnd > switch:checked slider {
background: #31748f;
}
.widget-dnd > switch slider {
background: @border;
border-radius: 0.2rem;
margin: 0.25rem;
}
/*--------------- Media player ---------------*/
.widget-mpris {
}
.widget-mpris .widget-mpris-player {
padding: 16px;
margin: 0.5rem;
background-color: @mpris-album-art-overlay;
border-radius: 0.7rem;
}
.widget-mpris .widget-mpris-player button:hover {
all: unset;
background: @bg-hover;
text-shadow: none;
border-radius: 0.5rem;
border: none;
padding: 5px;
margin: 5px;
transition: all 0.2s ease;
}
.widget-mpris .widget-mpris-player button {
color:@text;
text-shadow: none;
border-radius: 2rem;
border: none;
padding: 5px;
margin: 5px;
transition: all 0.2s ease;
}
.widget-mpris .widget-mpris-player button:not(.selected) {
background: transparent;
border: 2px solid transparent;
}
.widget-mpris .widget-mpris-player button:hover {
border: 2px solid transparent;
}
.widget-mpris .widget-mpris-player .widget-mpris-album-art {
border-radius: 0.5rem;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}
.widget-mpris .widget-mpris-player .widget-mpris-title {
font-weight: bold;
font-size: 1.25rem;
}
.widget-mpris .widget-mpris-player .widget-mpris-subtitle {
font-size: 1.1rem;
}
.widget-mpris .widget-mpris-player > box > button:hover {
background-color: @mpris-button-hover;
}
/*--------------- Sliders ---------------*/
.widget-volume {
background-color: transparent;
padding: 8px;
/* margin: 8px; */
margin-bottom: 0.5rem;
border-radius: 12px;
}
.widget-backlight {
background-color: transparent;
padding: 8px;
/* margin: 8px; */
margin-bottom: 1.5rem;
border-radius: 12px;
}
trough {
border-radius: 20px;
background: transparent;
}
trough highlight {
padding: 5px;
background: @active;
border-radius: 20px;
transition: all .2s ease;
}
trough highlight:hover {
padding: 5px;
background: @active;
border-radius: 20px;
transition: all .2s ease;
}
trough slider {
background: transparent;
}
trough slider:hover {
background: transparent;
}
/*--------------- Buttons grid ---------------*/
.widget-buttons-grid {
padding-left: 0.2rem;
padding-right: 0.2rem;
padding-bottom: 0.2rem;
/* margin: 1rem; */
border-radius: 0.2rem;
background:transparent;
}
.widget-buttons-grid>flowbox>flowboxchild>button label {
font-size: 20px;
color: @foreground;
transition: all .2s ease;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover label {
font-size: 20px;
color: @text;
transition: all .2s ease;
}
.widget-buttons-grid > flowbox > flowboxchild > button {
background: alpha(@border, 0.5);
border-radius: 0.2rem;
padding: 0.7rem 2rem;
margin: 0.2rem;
text-shadow:none;
transition: all .2s ease;
}
.widget-buttons-grid > flowbox > flowboxchild > button:hover {
background: @border;
box-shadow: 0px 0px 2px rgba(0, 0, 0, .2);
transition: all .2s ease;
}
.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked {
background: @active;
}
.widget-buttons-grid > flowbox > flowboxchild > button.toggle:checked label {
color: @background;
}

View file

@ -1,506 +0,0 @@
{
"layer": "top",
"position": "right",
"margin": "1 1 1 2",
"reload_style_on_change": true,
// Modules display
"modules-left": [
//"custom/updates",
"hyprland/workspaces",
"hyprland/submap"
//"group/info",
//"hyprland/window"
],
"modules-right": [
"custom/recorder",
"privacy",
"group/brightness",
"group/sound",
"group/connection",
"tray",
"group/together",
//"group/cnoti",
"group/power"
],
// Modules definition
// Up
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate",
"all-outputs": true,
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
}
},
"hyprland/submap": {
"format": "<b>󰇘</b>",
"max-length": 8,
"tooltip": true
},
"group/info": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"custom/dmark",
"group/gcpu",
"memory",
"disk",
"hyprland/window"
]
},
"hyprland/window": {
"orientation": "vertical",
"format":"<span weight='bold' >{class}</span>",
"spearate-outputs": true,
"icon": false
},
"custom/dmark": {
"format": "",
"tooltip": false
},
"group/gcpu": {
"orientation": "inherit",
"modules": [
"custom/cpu-icon",
"custom/cputemp",
"cpu"
]
},
"custom/cpu-icon": {
"format": "󰻠",
"tooltip": false
},
"custom/cputemp": {
"format": "{}",
"exec": "~/.config/waybar/bin/cputemp",
"interval": 10,
"return-type": "json"
},
"cpu": {
"format": "<b>{usage}󱉸</b>",
"on-click": "foot btop"
},
"memory": {
"format": "<b>  \n{:2}󱉸</b>"
},
"disk": {
"interval": 600,
"format": "<b> 󰋊 \n{percentage_used}󱉸</b>",
"path": "/"
},
// Bottom
"custom/recorder": {
"format": "{}",
"interval": "once",
"exec": "echo ''",
"tooltip": "false",
"exec-if": "pgrep 'wl-screenrec'",
"on-click": "recorder",
"signal": 4
},
"privacy": {
"orientation": "vertical",
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 24
}
]
},
"group/brightness": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"backlight"
//"backlight/slider"
]
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-icons": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"on-scroll-down": "brightnessctl s 5%-",
"on-scroll-up": "brightnessctl s +5%",
"tooltip": true,
"tooltip-format": "Brightness: {percent}% ",
"smooth-scrolling-threshold": 1
},
"backlight/slider": {
"min": 1,
"max": 100,
"orientation": "vertical",
"device": "intel_backlight"
},
"group/sound": {
"orientation": "inherit",
"modules": [
"group/audio",
"custom/notifications"
]
},
"group/audio": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"pulseaudio",
"pulseaudio#mic",
"pulseaudio/slider"
]
},
"group/cnoti": {
"orientation": "inherit",
"modules": [
"custom/github"
]
},
"group/connection": {
"orientation": "inherit",
"modules": [
//"custom/vpn",
"custom/hotspot",
"group/network"
//"group/bluetooth"
]
},
"group/together": {
"orientation": "inherit",
"modules": [
"group/utils",
"clock"
]
},
"group/utils": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"custom/mark",
"custom/weather",
"custom/colorpicker",
"custom/hyprshade",
"idle_inhibitor"
//"custom/hyprkill"
]
},
"group/network": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"network",
"network#speed"
]
},
"group/bluetooth": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"bluetooth",
"bluetooth#status"
]
},
"group/battery": {
"orientation":"vertical",
"modules": [
"battery",
"custom/battery_percentage",
]
},
"group/power": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"group/battery",
"power-profiles-daemon",
]
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"pulseaudio": {
"format": "{icon}",
"format-bluetooth": "{icon}",
"tooltip-format": "{volume}% {icon} | {desc}",
"format-muted": "󰖁",
"format-icons": {
"headphones": "",
"handsfree": "󱡏",
"headset": "",
"phone": "",
"portable": "",
"car": " ",
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"on-click": "volume mute",
//"on-click-middle": "pavucontrol",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
"smooth-scrolling-threshold": 1
},
"pulseaudio#mic": {
"format": "{format_source}",
"format-source": "󰍬",
"format-source-muted": "󰍭",
"tooltip-format": "{volume}% {format_source} ",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
},
"pulseaudio/slider": {
"min": 0,
"max": 100,
"orientation": "vertical"
},
"network": {
"format": "{icon}",
"format-icons": {
"wifi": [
"󰤨"
],
"ethernet": [
""
],
"disconnected": [
"󰤮"
]
},
"format-wifi": "󰤨",
"format-ethernet": "",
"format-disconnected": "󰤮",
"format-linked": "󰈁",
"tooltip": false,
"on-click": "python ~/.local/bin/rofi-wifi",
},
"network#speed": {
"format": " {bandwidthDownBits} ",
"rotate": 90,
"interval": 5,
"tooltip-format": "{ipaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-disconnected": "Not Connected to any type of Network",
"tooltip": true,
"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
},
"bluetooth": {
"format-on": "󰂯",
"format-off": "󰂲",
"format-disabled": "",
"format-connected": "<b>󰂱</b>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
"on-click": "rofi-bluetooth"
},
"bluetooth#status": {
"format-on": "",
"format-off": "",
"format-disabled": "",
"format-connected": "<b>{num_connections}</b>",
"format-connected-battery": "<small><b>{device_battery_percentage}%</b></small>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i"
},
"battery": {
"rotate": 270,
"states": {
"good": 95,
"warning": 16,
"critical": 8
},
"format": "{icon}",
"interval": 1,
"format-charging": "󰂄",
"format-full": "<span color='#82A55F'><b>{icon}</b></span>",
"format-icons": [
"󰁻",
"󰁼",
"󰁾",
"󰂀",
"󰂂",
"󰁹"
],
"tooltip-format": "{timeTo} {capacity} % | {power} W"
},
"custom/battery_percentage": {
"format": "<b>{}</b>",
//"exec": "cat /sys/class/power_supply/BAT*/capacity",
// Makes battery like if 85% was the maximum capacity (100%).
// Useful for people that limit charge up to a certain percentage but like having real percentage
"exec": "echo $(( $(cat /sys/class/power_supply/BAT*/capacity) * 100 / 85 ))",
"interval": 10,
"tooltip": false
},
"clock": {
"format": "{:%H\n%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"on-click": "swaync-client -t",
"format": {
"today": "<span color='#a6e3a1'><b><u>{}</u></b></span>"
}
}
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "<span color='#B37F34'><small></small></span>",
"balanced": "<span><small> </small></span>",
"power-saver": "<span color='#a6e3a1'><small></small></span>"
}
},
"custom/hyprshade": {
"format": "{}",
"tooltip": true,
"signal": 11,
"exec": "toggle-hyprshade status",
"on-click": "toggle-hyprshade",
"return-type": "json"
},
"custom/weather": {
"format": "{}",
"tooltip": true,
"interval": 3600,
"exec": "wttrbar --custom-indicator '{ICON}\n<b>{temp_C}</b>' --location noida",
"return-type": "json"
},
"custom/updates": {
"format": "{}",
"interval": 10800,
"exec": "~/.config/waybar/bin/updatecheck",
"return-type": "json",
"exec-if": "exit 0",
"signal": 8
},
"custom/vpn": {
"format": "{} ",
"exec": "~/.config/waybar/bin/vpn",
"return-type": "json",
"interval": 5
},
"custom/hotspot": {
"format": "{} ",
"exec": "~/.config/waybar/bin/hotspot",
"return-type": "json",
"on-click": "hash wihotspot && wihotspot",
"interval": 5
},
"custom/mark": {
"format": "",
"tooltip": false
},
"custom/colorpicker": {
"format": "{}",
"interval": "once",
"on-click": "hyprpicker",
"signal": 1
},
"custom/hyprkill": {
"format": "{}",
"interval": "once",
"exec": "echo '󰱝\nKill clients using hyrpctl kill'",
"on-click": "sleep 1 && hyprctl kill"
},
"custom/notifications": {
"format": "<b>{}</b> ",
"exec": "noti-cycle -j",
"on-click": "noti-cycle",
"on-click-right": "noti-cycle rofi",
"return-type": "json",
"interval": "once",
"signal": 2
},
"custom/github": {
"format": "{}",
"return-type": "json",
"interval": 3600,
"signal": 9,
"exec": "$HOME/.config/waybar/bin/github.sh",
"on-click": "xdg-open https://github.com/notifications;pkill -RTMIN+9 waybar"
},
"idle_inhibitor": {
"format": "{icon}",
"tooltip-format-activated": "Idle Inhibitor is active",
"tooltip-format-deactivated": "Idle Inhibitor is not active",
"format-icons": {
"activated": "󰅶",
"deactivated": "󰾪"
}
}
}

View file

@ -1,305 +0,0 @@
@import "colors.css";
@define-color active @foreground;
* {
font-size: 17px;
font-family: "JetBrainsMono Nerd Font Propo";
min-width: 8px;
min-height: 0px;
border: none;
border-radius: 0;
box-shadow: none;
text-shadow: none;
padding: 0px;
}
window#waybar {
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 4px;
border: 1px solid alpha(@active, 0.2);
background: @background;
background: alpha(@background, 0.8);
color: @foreground;
}
menu,
tooltip {
border-radius: 2px;
padding: 2px;
border: 1px solid @active;
background: @background;
color: @foreground;
}
menu label,
tooltip label {
font-size: 14px;
color: @foreground;
}
#submap,
#tray>.needs-attention {
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.modules-right {
margin: 0px 6px 4px 6px;
border-radius: 4px;
background: alpha(@background, 0);
color: @foreground;
}
.modules-left {
transition-property: background-color;
transition-duration: 0.5s;
margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */
border-radius: 4px;
background: alpha(@background, 0.5);
color: @foreground;
border: 1px solid alpha(@active, 0.1);
}
#gcpu,
#custom-github,
#memory,
#disk,
#together,
#submap,
#custom-weather,
#custom-recorder,
#connection,
#cnoti,
#brightness,
#power,
#custom-updates,
#tray,
/*#audio,*/ /* Duplicate with #sound */
#sound,
#privacy { /*Controls all the right modules for some reason*/
border-radius: 0.15em;
margin: 2px 1px 3px 1px;
background: alpha(darker(@active), 0.25);
border: 1px solid alpha(darker(@active), 0.0);
}
/* Override specific parameters*/
#brightness,
#sound {
padding: 1px 0px;
}
#custom-notifications {
padding-left: 4px;
}
#custom-hotspot,
#custom-github,
#custom-notifications {
font-size: 14px;
}
#custom-vpn,
#custom-hotspot {
background: alpha(darker(@active), 0.3);
}
#privacy-item {
padding: 6px 0px 6px 6px;
}
#gcpu {
padding: 8px 0px 8px 0px;
}
#custom-cpu-icon {
font-size: 25px;
}
#custom-cputemp,
#disk,
#memory,
#cpu {
font-size: 14px;
font-weight: bold;
}
#custom-github {
padding-top: 2px;
}
#custom-dmark {
color: alpha(@foreground, 0.3);
}
#submap {
margin-bottom: 0px;
}
#workspaces {
margin: 0px 2px;
padding: 2px 0px;
border-radius: 8px;
}
#workspaces button {
transition-property: background-color;
transition-duration: 0.1s;
color: @foreground;
background: transparent;
border-radius: 4px;
color: alpha(@foreground, 0.3);
padding: 2px 0px;
}
#workspaces button.urgent {
font-weight: bold;
color: @foreground;
}
#workspaces button.active {
padding: 2px 0px;
background: alpha(@active, 0.4);
color: @foreground;
border-radius: 2px;
}
#network.wifi {
margin: 2px;
}
#network.disconnected {
margin: 2px;
}
#network.ethernet {
margin: 2px;
}
#submap {
min-width: 0px;
margin: 4px 6px 4px 6px;
}
#custom-weather,
#tray {
padding: 4px 0px 4px 0px;
}
#bluetooth {
padding-top: 2px;
}
#group-battery {
/* border-radius: 8px; */
/* padding: 4px 0px; */
margin: 4px 2px 4px 2px;
}
#battery {
font-size: 1.5rem;
border-radius: 3px;
padding: 4px 0px;
margin: 0 0px;
}
#battery.charging {
color: @charging;
}
#battery.discharging.warning {
background-color: #cf9022;
/*animation-name: blink-yellow;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate; */
}
#battery.discharging.critical {
background-color: #c64d4f;
/*animation-name: blink-red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;*/
}
#custom-battery_percentage {
font-size: 1.1rem;
border-radius: 100px;
/* padding: 0 2px; */
margin: 1px 0;
/* margin: 4px 2px 4px 2px; */
}
#clock {
font-weight: bold;
padding: 4px 2px 2px 2px;
}
#pulseaudio.mic {
border-radius: 4px;
color: @foreground;
padding-left: 2px;
}
#backlight-slider slider,
#pulseaudio-slider slider {
background-color: transparent;
box-shadow: none;
}
#backlight-slider trough,
#pulseaudio-slider trough {
margin-top: 4px;
min-width: 6px;
min-height: 60px;
border-radius: 8px;
background-color: alpha(@background, 0.6);
}
#backlight-slider highlight,
#pulseaudio-slider highlight {
border-radius: 8px;
background-color: @foreground;
}
#bluetooth.discoverable,
#bluetooth.discovering,
#bluetooth.pairable {
border-radius: 8px;
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink-active {
to {
background-color: @active;
color: @foreground;
}
}
@keyframes blink-red {
to {
background-color: #c64d4f;
color: @foreground;
}
}
@keyframes blink-yellow {
to {
background-color: #cf9022;
color: @foreground;
}
}

View file

@ -1,292 +0,0 @@
@import "colors.css";
@define-color active @accentColor;
* {
font-size: 16px;
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF";
min-width: 8px;
min-height: 0px;
border: none;
border-radius: 0;
box-shadow: none;
text-shadow: none;
padding: 0px;
}
window#waybar {
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 4px;
border: 1px solid alpha(@active, 0.2);
background: @background;
background: alpha(@background, 0.7);
color: lighter(@active);
}
menu,
tooltip {
border-radius: 2px;
padding: 2px;
border: 1px solid @active;
background: @background;
color: lighter(@active);
}
menu label,
tooltip label {
font-size: 14px;
color: lighter(@active);
}
#submap,
#tray>.needs-attention {
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.modules-right {
margin: 0px 6px 4px 6px;
border-radius: 4px;
background: alpha(@background, 0);
color: lighter(@active);
}
.modules-left {
transition-property: background-color;
transition-duration: 0.5s;
margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */
border-radius: 4px;
background: alpha(@background, 0.0);
color: lighter(@active);
border: 1px solid alpha(@active, 0.0);
}
#gcpu,
#custom-github,
#memory,
#disk,
#together,
#submap,
#custom-weather,
#custom-recorder,
#connection,
#cnoti,
#brightness,
#power,
#custom-updates,
#tray,
/*#audio,*/ /* Duplicate with #sound */
#sound,
#privacy { /*Controls all the right modules for some reason*/
border-radius: 2px;
margin: 2px 1px 3px 1px;
background: alpha(darker(@active), 0.0);
border: 1px solid alpha(darker(@active), 0.0);
}
/* Override specific parameters*/
#brightness,
#sound {
padding: 1px 0px;
}
#custom-notifications {
padding-left: 4px;
}
#custom-hotspot,
#custom-github,
#custom-notifications {
font-size: 14px;
}
#custom-hotspot {
padding-right: 2px;
}
#custom-vpn,
#custom-hotspot {
background: alpha(darker(@active), 0.3);
}
#privacy-item {
padding: 6px 0px 6px 6px;
}
#gcpu {
padding: 8px 0px 8px 0px;
}
#custom-cpu-icon {
font-size: 25px;
}
#custom-cputemp,
#disk,
#memory,
#cpu {
font-size: 14px;
font-weight: bold;
}
#custom-github {
padding-top: 2px;
padding-right: 4px;
}
#custom-dmark {
color: alpha(@foreground, 0.3);
}
#submap {
margin-bottom: 0px;
}
#workspaces {
margin: 0px 2px;
padding: 2px 0px;
border-radius: 8px;
}
#workspaces button {
transition-property: background-color;
transition-duration: 0.1s;
color: @foreground;
background: transparent;
border-radius: 4px;
color: alpha(@foreground, 0.3);
padding: 2px 0px;
}
#workspaces button.urgent {
font-weight: bold;
color: @foreground;
}
#workspaces button.active {
padding: 2px 0px;
background: alpha(@active, 0.4);
color: lighter(@active);
border-radius: 2px;
}
#network.wifi {
padding-right: 5px;
margin: 2px 0px;
}
#network.disconnected {
padding-right: 5px;
margin: 2px 0px;
}
#network.ethernet {
padding-right: 3px;
margin: 2px 0px;
}
#submap {
min-width: 0px;
margin: 4px 6px 4px 6px;
}
#custom-weather,
#tray {
padding: 4px 0px 4px 0px;
}
#bluetooth {
padding-top: 2px;
}
#battery {
border-radius: 8px;
padding: 4px 0px;
margin: 4px 2px 4px 2px;
}
#battery.discharging.warning {
animation-name: blink-yellow;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.discharging.critical {
animation-name: blink-red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#clock {
font-weight: bold;
padding: 4px 2px 2px 2px;
}
#pulseaudio.mic {
border-radius: 4px;
color: lighter(@active);
padding-left: 2px;
}
#backlight-slider slider,
#pulseaudio-slider slider {
background-color: transparent;
box-shadow: none;
}
#backlight-slider trough,
#pulseaudio-slider trough {
margin-top: 4px;
min-width: 6px;
min-height: 60px;
border-radius: 8px;
background-color: alpha(@background, 0.6);
}
#backlight-slider highlight,
#pulseaudio-slider highlight {
border-radius: 8px;
background-color: lighter(@active);
}
#bluetooth.discoverable,
#bluetooth.discovering,
#bluetooth.pairable {
border-radius: 8px;
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink-active {
to {
background-color: @active;
color: @foreground;
}
}
@keyframes blink-red {
to {
background-color: #c64d4f;
color: @foreground;
}
}
@keyframes blink-yellow {
to {
background-color: #cf9022;
color: @foreground;
}
}

View file

@ -1,224 +0,0 @@
{
"layer": "top",
"position": "bottom",
"height": 24,
"spacing": 5,
"modules-left": ["hyprland/workspaces"],
"modules-center": ["clock"],
"modules-right": ["tray", "group/audio", "bluetooth", "group/network_grp", "idle_inhibitor", "group/power" ],
"group/network_grp": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": false
},
"modules": [
"network",
"network#speed"
]
},
"group/audio": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": false
},
"modules": [
"pulseaudio",
"pulseaudio#mic",
"pulseaudio#volume",
]
},
"group/power": {
"orientation": "inherit",
"drawer": {
"transition-duration": 300,
"transition-left-to-right": true
},
"modules": [
"battery",
"custom/battery_percentage",
"power-profiles-daemon",
]
},
"hyprland/workspaces": {
"format": "<span size='larger'>{icon}</span>",
"on-click": "activate",
"format-icons": {
"active": "\uf444",
"default": "\uf4c3"
},
"icon-size": 10,
"sort-by-number": true,
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
}
},
"clock": {
"format": "{:%d.%m.%Y | %H:%M}"
},
//"wireplumber": {
// "format": "\udb81\udd7e {volume}%",
// "max-volume": 100,
// "scroll-step": 5
//},
"pulseaudio": {
"format": "{icon} ",
"format-bluetooth": "{icon}",
"tooltip-format": "{volume}% {icon} | {desc}",
"format-muted": "󰖁",
"format-icons": {
"headphones": "",
"handsfree": "󱡏",
"headset": "",
"phone": "",
"portable": "",
"car": " ",
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"on-click": "volume mute",
//"on-click-middle": "pavucontrol",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
"smooth-scrolling-threshold": 1
},
"pulseaudio#volume": {
"format": " {volume}% "
},
// TODO missing
"pulseaudio#mic": {
"format": "{format_source}",
"format-source": "󰍬",
"format-source-muted": "󰍭",
"tooltip-format": "{volume}% {format_source} ",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
},
// "battery": {
// "bat": "BAT1",
// "interval": 60,
// "format": "{icon} {capacity}%",
// "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"],
// },
"battery": {
"rotate": 270,
"states": {
"good": 95,
"warning": 16,
"critical": 8
},
"format": "{icon}",
"interval": 1,
"format-charging": "󰂄",
"format-full": "<span color='#82A55F'><b>{icon}</b></span>",
"format-icons": [
"󰁻",
"󰁼",
"󰁾",
"󰂀",
"󰂂",
"󰁹"
],
"tooltip-format": "{timeTo} {capacity} % | {power} W"
},
"custom/battery_percentage": {
"format": "{}",
//"exec": "cat /sys/class/power_supply/BAT*/capacity",
// Makes battery like if 85% was the maximum capacity (100%).
// Useful for people that limit charge up to a certain percentage but like having real percentage
"exec": "echo $(( $(cat /sys/class/power_supply/BAT*/capacity) * 100 / 85 ))%",
"interval": 10,
"tooltip": false
},
"memory": {
"interval": 30,
"format": "\uf4bc {used:0.1f}G"
},
"temperature": {
"format": "{temperatureC}°C"
},
"network": {
"format": "",
"format-ethernet": "\udb83\udc9d",
"format-wifi": "{icon}",
"format-disconnected": "\udb83\udc9c",
"format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}",
"tooltip-format-disconnected": "Disconnected",
"on-click": "python ~/.local/bin/rofi-wifi",
},
"network#speed": {
"format": "{bandwidthDownBits}",
"interval": 5,
"tooltip-format": "{ipaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon}",
"tooltip-format-disconnected": "Disconnected",
"tooltip": true
},
"bluetooth": {
"format": "\udb80\udcaf",
"format-disabled": "\udb80\udcb2",
"format-connected": "\udb80\udcb1",
"tooltip-format": "{controller_alias}\t{controller_address}",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"on-click": "rofi-bluetooth"
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "<span color='#B37F34'><small></small></span>",
"balanced": "<span><small> </small></span>",
"power-saver": "<span color='#a6e3a1'><small></small></span>"
}
},
"hyprland/language": {
"format": "{short}"
},
"tray": {
"icon-size": 16,
"spacing": 16
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "\udb80\udd76",
"deactivated": "\udb83\udfaa"
}
}
}

View file

@ -1,60 +0,0 @@
@define-color foreground #eeeeee;
@define-color foreground-inactive #aaaaaa;
@define-color background #000000;
* {
font-family: JetBrainsMono Nerd Font Propo;
font-size: 17px;
padding: 0;
margin: 0;
}
#waybar {
color: @foreground;
background-color: @background;
}
#workspaces button {
color: @foreground;
padding: 0 0.2em;
}
#workspaces button.empty {
color: @foreground-inactive;
}
#memory,
#wireplumber,
#audio,
#language,
#network,
#bluetooth
{
padding-right: 1em
}
#custom-battery_percentage,
#battery {
padding-right: 0.3em
}
#power-profiles-daemon {
padding-right: 0.7em;
padding-left: 0.4em
}
#idle_inhibitor {
padding-right: 0.6em
}
#tray {
padding-right: 1em
}
#network_grp {
padding: 0em
}
#pulseaudio.mic {
padding-left: .7em
}

View file

@ -1 +0,0 @@
../colors/colors.css

View file

@ -0,0 +1,4 @@
@define-color foreground #c5c5c5;
@define-color background #18191c;
@define-color accentColor #b6c8d3;

View file

@ -1 +0,0 @@
Boussole/config.jsonc

View file

@ -0,0 +1,478 @@
{
"layer": "top",
"position": "left",
"margin": "1 1 1 1",
"reload_style_on_change": true,
"modules-left": [
//"custom/updates",
"hyprland/workspaces",
"hyprland/submap"
//"group/info",
//"hyprland/window"
],
"hyprland/workspaces": {
"format": "{icon}",
"on-click": "activate",
"all-outputs": true,
"format-icons": {
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
}
},
"hyprland/window": {
"format":"",
"spearate-outputs": true,
"icon": true
},
"hyprland/submap": {
"format": "<b>󰇘</b>",
"max-length": 8,
"tooltip": true
},
"group/info": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"custom/dmark",
"group/gcpu",
"memory",
"disk"
]
},
"custom/dmark": {
"format": "",
"tooltip": false
},
"group/gcpu": {
"orientation": "inherit",
"modules": [
"custom/cpu-icon",
"custom/cputemp",
"cpu"
]
},
"custom/cpu-icon": {
"format": "󰻠",
"tooltip": false
},
"custom/cputemp": {
"format": "{}",
"exec": "~/.config/waybar/bin/cputemp",
"interval": 10,
"return-type": "json"
},
"cpu": {
"format": "<b>{usage}󱉸</b>",
"on-click": "foot btop"
},
"memory": {
"format": "<b>  \n{:2}󱉸</b>"
},
"disk": {
"interval": 600,
"format": "<b> 󰋊 \n{percentage_used}󱉸</b>",
"path": "/"
},
"modules-right": [
"custom/recorder",
"privacy",
"group/brightness",
"group/sound",
"group/connection",
"tray",
"group/together",
//"group/cnoti",
"group/power"
],
"custom/recorder": {
"format": "{}",
"interval": "once",
"exec": "echo ''",
"tooltip": "false",
"exec-if": "pgrep 'wl-screenrec'",
"on-click": "recorder",
"signal": 4
},
"privacy": {
"orientation": "vertical",
"icon-spacing": 4,
"icon-size": 14,
"transition-duration": 250,
"modules": [
{
"type": "screenshare",
"tooltip": true,
"tooltip-icon-size": 24
}
]
},
"group/brightness": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"backlight"
//"backlight/slider"
]
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-icons": [
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
"on-scroll-down": "brightnessctl s 5%-",
"on-scroll-up": "brightnessctl s +5%",
"tooltip": true,
"tooltip-format": "Brightness: {percent}% ",
"smooth-scrolling-threshold": 1
},
"backlight/slider": {
"min": 1,
"max": 100,
"orientation": "vertical",
"device": "intel_backlight"
},
"group/sound": {
"orientation": "inherit",
"modules": [
"group/audio",
"custom/notifications"
]
},
"group/audio": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"pulseaudio",
"pulseaudio#mic",
"pulseaudio/slider"
]
},
"group/cnoti": {
"orientation": "inherit",
"modules": [
"custom/github"
]
},
"group/connection": {
"orientation": "inherit",
"modules": [
//"custom/vpn",
"custom/hotspot",
"group/network"
//"group/bluetooth"
]
},
"group/together": {
"orientation": "inherit",
"modules": [
"group/utils",
"clock"
]
},
"group/utils": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"custom/mark",
"custom/weather",
"custom/colorpicker",
"custom/hyprshade",
"idle_inhibitor",
"custom/hyprkill"
]
},
"group/network": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"network",
"network#speed"
]
},
"group/bluetooth": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": [
"bluetooth",
"bluetooth#status"
]
},
"group/power": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": false
},
"modules": [
"battery",
"power-profiles-daemon"
]
},
"tray": {
"icon-size": 18,
"spacing": 10
},
"pulseaudio": {
"format": "{icon}",
"format-bluetooth": "{icon}",
"tooltip-format": "{volume}% {icon} | {desc}",
"format-muted": "󰖁",
"format-icons": {
"headphones": "",
"handsfree": "󱡏",
"headset": "",
"phone": "",
"portable": "",
"car": " ",
"default": [
"󰕿",
"󰖀",
"󰕾"
]
},
"on-click": "volume mute",
//"on-click-middle": "pavucontrol",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+",
"on-scroll-down": "wpctl set-volume @DEFAULT_AUDIO_SINK@ -5%",
"smooth-scrolling-threshold": 1
},
"pulseaudio#mic": {
"format": "{format_source}",
"format-source": "󰍬",
"format-source-muted": "󰍭",
"tooltip-format": "{volume}% {format_source} ",
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle",
"on-scroll-down": "wpctl set-volume @DEFAULT_SOURCE@ 5%-",
"on-scroll-up": "wpctl set-volume -l 1 @DEFAULT_SOURCE@ 5%+"
},
"pulseaudio/slider": {
"min": 0,
"max": 100,
"orientation": "vertical"
},
"network": {
"format": "{icon}",
"format-icons": {
"wifi": [
"󰤨"
],
"ethernet": [
""
],
"disconnected": [
"󰤮"
]
},
"format-wifi": "󰤨",
"format-ethernet": "",
"format-disconnected": "󰤮",
"format-linked": "󰈁",
"tooltip": false,
//"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
"on-click": "kitty nmtui"
},
"network#speed": {
"format": " {bandwidthDownBits} ",
"rotate": 90,
"interval": 5,
"tooltip-format": "{ipaddr}",
"tooltip-format-wifi": "{essid} ({signalStrength}%)  \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-ethernet": "{ifname} 󰈀 \n{ipaddr} | {frequency} MHz{icon} ",
"tooltip-format-disconnected": "Not Connected to any type of Network",
"tooltip": true,
"on-click": "pgrep -x rofi &>/dev/null && notify-send rofi || networkmanager_dmenu"
},
"bluetooth": {
"format-on": "󰂯",
"format-off": "󰂲",
"format-disabled": "",
"format-connected": "<b>󰂱</b>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
//"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i"
"on-click": "toggle-bluetooth"
},
"bluetooth#status": {
"format-on": "",
"format-off": "",
"format-disabled": "",
"format-connected": "<b>{num_connections}</b>",
"format-connected-battery": "<small><b>{device_battery_percentage}%</b></small>",
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
"on-click": "rofi-bluetooth -config ~/.config/rofi/menu.d/network.rasi -i"
},
"battery": {
"rotate": 270,
"states": {
"good": 95,
"warning": 16,
"critical": 8
},
"format": "{icon}",
"interval": 1,
"format-charging": "<b>{icon} </b>",
"format-full": "<span color='#82A55F'><b>{icon}</b></span>",
"format-icons": [
"󰁻",
"󰁼",
"󰁾",
"󰂀",
"󰂂",
"󰁹"
],
"tooltip-format": "{timeTo} {capacity} % | {power} W"
},
"clock": {
"format": "{:%H\n%M}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"today": "<span color='#a6e3a1'><b><u>{}</u></b></span>"
}
}
},
"power-profiles-daemon": {
"format": "{icon}",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "<span color='#B37F34'><small></small></span>",
"balanced": "<span><small> </small></span>",
"power-saver": "<span color='#a6e3a1'><small></small></span>"
}
},
"custom/hyprshade": {
"format": "{}",
"tooltip": true,
"signal": 11,
"exec": "toggle-hyprshade status",
"on-click": "toggle-hyprshade",
"return-type": "json"
},
"custom/weather": {
"format": "{}",
"tooltip": true,
"interval": 3600,
"exec": "wttrbar --custom-indicator '{ICON}\n<b>{temp_C}</b>' --location noida",
"return-type": "json"
},
"custom/updates": {
"format": "{}",
"interval": 10800,
"exec": "~/.config/waybar/bin/updatecheck",
"return-type": "json",
"exec-if": "exit 0",
"signal": 8
},
"custom/vpn": {
"format": "{} ",
"exec": "~/.config/waybar/bin/vpn",
"return-type": "json",
"interval": 5
},
"custom/hotspot": {
"format": "{} ",
"exec": "~/.config/waybar/bin/hotspot",
"return-type": "json",
"on-click": "hash wihotspot && wihotspot",
"interval": 5
},
"custom/mark": {
"format": "",
"tooltip": false
},
"custom/colorpicker": {
"format": "{}",
"return-type": "json",
"interval": "once",
"exec": "colorpicker -j",
"on-click": "sleep 1 && colorpicker",
"signal": 1
},
"custom/hyprkill": {
"format": "{}",
"interval": "once",
"exec": "echo '󰱝\nKill clients using hyrpctl kill'",
"on-click": "sleep 1 && hyprctl kill"
},
"custom/notifications": {
"format": "<b>{}</b> ",
"exec": "noti-cycle -j",
"on-click": "noti-cycle",
"on-click-right": "noti-cycle rofi",
"return-type": "json",
"interval": "once",
"signal": 2
},
"custom/github": {
"format": "{}",
"return-type": "json",
"interval": 3600,
"signal": 9,
"exec": "$HOME/.config/waybar/bin/github.sh",
"on-click": "xdg-open https://github.com/notifications;pkill -RTMIN+9 waybar"
},
"idle_inhibitor": {
"format": "{icon}",
"tooltip-format-activated": "Idle Inhibitor is active",
"tooltip-format-deactivated": "Idle Inhibitor is not active",
"format-icons": {
"activated": "󰅶",
"deactivated": "󰾪"
}
}
}

View file

@ -1 +0,0 @@
Boussole/style.css

View file

@ -0,0 +1,292 @@
@import "colors.css";
@define-color active @accentColor;
* {
font-size: 16px;
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF";
min-width: 8px;
min-height: 0px;
border: none;
border-radius: 0;
box-shadow: none;
text-shadow: none;
padding: 0px;
}
window#waybar {
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 4px;
border: 1px solid alpha(@active, 0.2);
background: @background;
background: alpha(@background, 0.7);
color: lighter(@active);
}
menu,
tooltip {
border-radius: 2px;
padding: 2px;
border: 1px solid @active;
background: @background;
color: lighter(@active);
}
menu label,
tooltip label {
font-size: 14px;
color: lighter(@active);
}
#submap,
#tray>.needs-attention {
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.modules-right {
margin: 0px 6px 4px 6px;
border-radius: 4px;
background: alpha(@background, 0);
color: lighter(@active);
}
.modules-left {
transition-property: background-color;
transition-duration: 0.5s;
margin: 6px 5px 6px 5px; /* Testing with 5 pixels on left/right */
border-radius: 4px;
background: alpha(@background, 0.5);
color: lighter(@active);
border: 1px solid alpha(@active, 0.1);
}
#gcpu,
#custom-github,
#memory,
#disk,
#together,
#submap,
#custom-weather,
#custom-recorder,
#connection,
#cnoti,
#brightness,
#power,
#custom-updates,
#tray,
/*#audio,*/ /* Duplicate with #sound */
#sound,
#privacy { /*Controls all the right modules for some reason*/
border-radius: 2px;
margin: 2px 1px 3px 1px;
background: alpha(darker(@active), 0.3);
border: 1px solid alpha(darker(@active), 0.2);
}
/* Override specific parameters*/
#brightness,
#sound {
padding: 1px 0px;
}
#custom-notifications {
padding-left: 4px;
}
#custom-hotspot,
#custom-github,
#custom-notifications {
font-size: 14px;
}
#custom-hotspot {
padding-right: 2px;
}
#custom-vpn,
#custom-hotspot {
background: alpha(darker(@active), 0.3);
}
#privacy-item {
padding: 6px 0px 6px 6px;
}
#gcpu {
padding: 8px 0px 8px 0px;
}
#custom-cpu-icon {
font-size: 25px;
}
#custom-cputemp,
#disk,
#memory,
#cpu {
font-size: 14px;
font-weight: bold;
}
#custom-github {
padding-top: 2px;
padding-right: 4px;
}
#custom-dmark {
color: alpha(@foreground, 0.3);
}
#submap {
margin-bottom: 0px;
}
#workspaces {
margin: 0px 2px;
padding: 2px 0px;
border-radius: 8px;
}
#workspaces button {
transition-property: background-color;
transition-duration: 0.1s;
color: @foreground;
background: transparent;
border-radius: 4px;
color: alpha(@foreground, 0.3);
padding: 2px 0px;
}
#workspaces button.urgent {
font-weight: bold;
color: @foreground;
}
#workspaces button.active {
padding: 2px 0px;
background: alpha(@active, 0.4);
color: lighter(@active);
border-radius: 2px;
}
#network.wifi {
padding-right: 5px;
margin: 2px 0px;
}
#network.disconnected {
padding-right: 5px;
margin: 2px 0px;
}
#network.ethernet {
padding-right: 3px;
margin: 2px 0px;
}
#submap {
min-width: 0px;
margin: 4px 6px 4px 6px;
}
#custom-weather,
#tray {
padding: 4px 0px 4px 0px;
}
#bluetooth {
padding-top: 2px;
}
#battery {
border-radius: 8px;
padding: 4px 0px;
margin: 4px 2px 4px 2px;
}
#battery.discharging.warning {
animation-name: blink-yellow;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.discharging.critical {
animation-name: blink-red;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#clock {
font-weight: bold;
padding: 4px 2px 2px 2px;
}
#pulseaudio.mic {
border-radius: 4px;
color: lighter(@active);
padding-left: 2px;
}
#backlight-slider slider,
#pulseaudio-slider slider {
background-color: transparent;
box-shadow: none;
}
#backlight-slider trough,
#pulseaudio-slider trough {
margin-top: 4px;
min-width: 6px;
min-height: 60px;
border-radius: 8px;
background-color: alpha(@background, 0.6);
}
#backlight-slider highlight,
#pulseaudio-slider highlight {
border-radius: 8px;
background-color: lighter(@active);
}
#bluetooth.discoverable,
#bluetooth.discovering,
#bluetooth.pairable {
border-radius: 8px;
animation-name: blink-active;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
@keyframes blink-active {
to {
background-color: @active;
color: @foreground;
}
}
@keyframes blink-red {
to {
background-color: #c64d4f;
color: @foreground;
}
}
@keyframes blink-yellow {
to {
background-color: #cf9022;
color: @foreground;
}
}

View file

@ -1,101 +0,0 @@
/* Boussole theme by Gu://em_*/
/* Based on work done by */
/* Newman Sanchez (https://github.com/newmanls) */
* {
font: "JetBrainsMono Nerd Font Propo Regular 12";
bg0: #0d1117;
bg1: #1a2330;
fg0: #eeffff;
accent-color: #e64e4e;
urgent-color: #ffcb6b;
background-color: transparent;
text-color: @fg0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
location: center;
width: 600;
background-color: @bg0;
/*border-radius: 4px;*/
}
inputbar {
spacing: 8px;
padding: 8px;
background-color: @bg1;
children: [ prompt, entry ];
}
prompt, entry, element-icon, element-text {
vertical-align: 0.5;
}
prompt {
text-color: @accent-color;
}
textbox {
padding: 8px;
background-color: @bg1;
}
listview {
padding: 4px 0;
lines: 8;
columns: 1;
fixed-height: false;
}
element {
padding: 8px;
spacing: 8px;
}
element normal normal {
text-color: @fg0;
}
element normal urgent {
text-color: @urgent-color;
}
element normal active {
text-color: @accent-color;
}
element alternate active {
text-color: @accent-color;
}
element selected {
text-color: @bg0;
}
element selected normal, element selected active {
background-color: @accent-color;
}
element selected urgent {
background-color: @urgent-color;
}
element-icon {
size: 0.8em;
}
element-text {
text-color: inherit;
}

View file

@ -1 +1 @@
rofi-bluetooth-git
albert

View file

@ -4,7 +4,5 @@ fastfetch
fzf
git
gnome-keyring
helix
openssh
wget
zoxide

View file

@ -8,9 +8,8 @@ mandoc
man-pages
networkmanager
os-prober
sof-firmware
stow
sudo
sof-firmware
ufw
vim
zram-generator

View file

@ -1,23 +1,18 @@
foot
grim
pipewire-jack
pipewire
wireplumber
pipewire-pulse
greetd-tuigreet
hypridle
hyprland
hyprland-qtutils
hyprlock
hyprpaper
hyprpicker
hyprland-qtutils
hyprpolkitagent
hyprsunset
ly
pipewire
pipewire-jack
pipewire-pulse
power-profiles-daemon
pulsemixer
rofi
rofimoji
slurp
swaync
waybar
wireplumber
xdg-desktop-portal-hyprland
waybar
power-profiles-daemon
fnott
kitty
grim
slurp

View file

@ -1,4 +1,3 @@
bluez
bluez-utils
blueman
fprintd

62
setup.sh Executable file → Normal file
View file

@ -1,8 +1,7 @@
#!/bin/sh
version="Beta 26.04.27-1"
version="Beta 25.04.04-2"
echo "Atlas Desktop Installer - ${version}"
echo
echo -e "Atlas Desktop Installer - ${version}\n"
# Definitions
@ -11,31 +10,27 @@ script_path=$PWD
pkgs_path="${script_path}/packages"
config_path="${script_path}/config"
CPU_vendor=$(lscpu | grep Vendor | awk '{print $NF}')
dotfiles_path="$HOME/.dotfiles"
dotfiles_path="~/.dotfiles"
## Functions
install() {
echo
echo "Downloading $1 packages..."
echo
sudo pacman -Syu --noconfirm --color auto "$(cat "$pkgs_path"/"$1".pkgs)"
printf "\n\nDone\n\n"
function install() {
echo -e "\nDownloading $1 packages...\n"
sudo pacman -Syu --noconfirm --color auto $(cat $pkgs_path/$1.pkgs)
echo -e "\n\nDone\n"
}
install_aur() {
echo
echo "Downloading $1 packages..."
echo
paru -Syu --noconfirm --color auto "$(cat "$pkgs_path"/"$1".pkgs)"
printf "\n\nDone\n\n"
function install_aur() {
echo -e "\nDownloading $1 packages...\n"
paru -Syu --noconfirm --color auto $(cat $pkgs_path/$1.pkgs)
echo -e "\nDone\n"
}
# Checks
## Sudo installed
if ! pacman -Q sudo > /dev/null; then
pacman -Q sudo > /dev/null
if [ $? != 0 ]; then
echo "Please install 'sudo' first"
exit 1
fi
@ -64,7 +59,7 @@ install desktop
install theming
## Vendor specific packages
if [ "$CPU_vendor" = "Genuine Intel" ]; then
if [ $CPU_vendor == "Genuine Intel" ]; then
install intel
fi
@ -73,7 +68,7 @@ git clone https://aur.archlinux.org/paru.git /tmp/paru &&
echo "Installing paru" &&
cd /tmp/paru &&
makepkg -si
cd "$script_path" || exit 1
cd $script_path
## AUR packages
install_aur aur
@ -81,37 +76,40 @@ install_aur aur
# Configuration
printf "\n--- Configuration ---\n\n"
echo -e "\n--- Configuration ---\n"
## Dotfiles
echo "Copying configuration files"
cp -r "$config_path" "$dotfiles_path" &&
cd "$dotfiles_path" &&
cp -r $config_path $dotfiles_path &&
cd $dotfiles_path &&
stow .
cd "$script_path" || exit 1
cd $script_path
## Install launcher theme (albert)
sudo ln -s .config/albert/schemes/Seventy\ Eight.qss /usr/share/albert/widgetsboxmodel/themes/
## Swap (Zram)
is_zram_active=$(sudo systemctl is-active systemd-zram-setup@zram0.service)
if [ "$is_zram_active" != "active" ]; then
printf "\n========================================\n"
if [ is_zram_active != "active" ]; then
echo -e "\n========================================"
echo "WARNING: you don't have Zram enabled"
echo "Since this script is not yet capable of activating zram, you'll have to do it yourself"
echo "Please refer to https://wiki.archlinux.org/title/Zram#Using_zram-generator"
printf "========================================\n\n"
echo -e "========================================\n"
fi
## Mandatory Access Control (Apparmor)
is_aa_active=$(sudo systemctl is-active apparmor.service)
if [ "$is_aa_active" != "active" ]; then
printf "\n========================================\n"
if [ is_aa_active != "active" ]; then
echo -e "\n========================================"
echo "WARNING: you don't have AppArmor enabled"
echo "Since this script is not yet capable of managing kernel parameters, you'll have to do it yourself"
echo "Please refer to https://wiki.archlinux.org/title/AppArmor"
printf "========================================\n\n"
echo -e "========================================\n"
fi
## Display manager (Ly)
sudo systemctl enable ly@tty1.service
## Display manager (Greetd)
sudo systemctl enable greetd
## Firewall (UFW)
sudo systemctl enable ufw