35 changed files with 1151 additions and 94 deletions
@ -0,0 +1,10 @@
|
||||
confirm-close-surface = false |
||||
copy-on-select = clipboard |
||||
cursor-style-blink = false |
||||
font-family = DejaVuSansM Nerd Font Mono |
||||
font-size = 10 |
||||
link-url = true |
||||
selection-invert-fg-bg = true |
||||
theme = terminal-sexy |
||||
window-decoration = false |
||||
window-inherit-working-directory = true |
@ -0,0 +1,21 @@
|
||||
palette = 0=#282a2e |
||||
palette = 1=#a54242 |
||||
palette = 2=#8c9440 |
||||
palette = 3=#de935f |
||||
palette = 4=#5f819d |
||||
palette = 5=#85678f |
||||
palette = 6=#5e8d87 |
||||
palette = 7=#707880 |
||||
palette = 8=#373b41 |
||||
palette = 9=#cc6666 |
||||
palette = 10=#b5bd68 |
||||
palette = 11=#f0c674 |
||||
palette = 12=#81a2be |
||||
palette = 13=#b294bb |
||||
palette = 14=#8abeb7 |
||||
palette = 15=#c5c8c6 |
||||
background = #1c1c1c |
||||
foreground = #c5c8c6 |
||||
cursor-color = #c5c8c6 |
||||
selection-background = #373b41 |
||||
selection-foreground = #c5c8c6 |
@ -0,0 +1,12 @@
|
||||
general { |
||||
lock_cmd = pidof hyprlock || hyprlock |
||||
before_sleep_cmd = loginctl lock-session |
||||
after_sleep_cmd = hyprctl dispatch dpms on # avoid having to press a key twice to turn on display |
||||
} |
||||
|
||||
# Turn the screen off after 30 seconds on the lock-screen |
||||
listener { |
||||
timeout = 30 |
||||
on-timeout = pidof hyprlock && hyprctl dispatch dpms off |
||||
on-resume = hyprctl dispatch dpms on |
||||
} |
@ -0,0 +1,406 @@
|
||||
|
||||
################ |
||||
### MONITORS ### |
||||
################ |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/ |
||||
monitor=,preferred,auto,auto |
||||
|
||||
|
||||
################### |
||||
### MY PROGRAMS ### |
||||
################### |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ |
||||
|
||||
# Set programs that you use |
||||
$terminal = ghostty |
||||
$fileManager = thunar |
||||
$menu = rofi -show drun |
||||
|
||||
|
||||
################# |
||||
### AUTOSTART ### |
||||
################# |
||||
|
||||
# System level |
||||
exec-once = gammastep |
||||
exec-once = systemctl --user start hyprpolkitagent |
||||
exec-once = hyprctl setcursor capitaine-cursors-light 24 |
||||
exec-once = hypridle |
||||
|
||||
# Scripts |
||||
exec-once = ${HOME}/.local/bin/wm/wallpaper.sh |
||||
exec-once = ${HOME}/.local/bin/panel/waybar.sh |
||||
|
||||
# Applications |
||||
exec-once = [workspace 1] firefox |
||||
exec-once = [workspace 2] $terminal |
||||
exec-once = [workspace 3] thunar --daemon |
||||
exec-once = [workspace 3] thunar |
||||
|
||||
|
||||
############################# |
||||
### ENVIRONMENT VARIABLES ### |
||||
############################# |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/ |
||||
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland |
||||
env = XDG_SESSION_TYPE,wayland |
||||
env = XDG_SESSION_DESKTOP,Hyprland |
||||
|
||||
env = XCURSOR_SIZE,24 |
||||
env = HYPRCURSOR_SIZE,24 |
||||
|
||||
|
||||
##################### |
||||
### LOOK AND FEEL ### |
||||
##################### |
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/ |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general |
||||
general { |
||||
gaps_in = 5 |
||||
gaps_out = 10 |
||||
|
||||
border_size = 2 |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors |
||||
col.active_border = rgb(404552) |
||||
col.inactive_border = rgb(2b2e39) |
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps |
||||
resize_on_border = false |
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on |
||||
allow_tearing = false |
||||
|
||||
layout = dwindle |
||||
} |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration |
||||
decoration { |
||||
rounding = 0 |
||||
|
||||
# Change transparency of focused and unfocused windows |
||||
active_opacity = 1.0 |
||||
inactive_opacity = 1.0 |
||||
|
||||
shadow { |
||||
enabled = false |
||||
} |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur |
||||
blur { |
||||
enabled = false |
||||
} |
||||
} |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations |
||||
animations { |
||||
enabled = true |
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more |
||||
|
||||
bezier = easeOutQuint,0.23,1,0.32,1 |
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1 |
||||
bezier = linear,0,0,1,1 |
||||
bezier = almostLinear,0.5,0.5,0.75,1.0 |
||||
bezier = quick,0.15,0,0.1,1 |
||||
|
||||
animation = global, 1, 10, default |
||||
animation = border, 1, 5.39, easeOutQuint |
||||
animation = windows, 1, 4.79, easeOutQuint |
||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% |
||||
animation = windowsOut, 1, 1.49, linear, popin 87% |
||||
animation = fadeIn, 1, 1.73, almostLinear |
||||
animation = fadeOut, 1, 1.46, almostLinear |
||||
animation = fade, 1, 3.03, quick |
||||
animation = layers, 1, 3.81, easeOutQuint |
||||
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, 1.94, almostLinear, fade |
||||
animation = workspacesIn, 1, 1.21, almostLinear, fade |
||||
animation = workspacesOut, 1, 1.94, almostLinear, fade |
||||
} |
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ |
||||
# "Smart gaps" / "No gaps when only" |
||||
workspace = w[tv1], gapsout:0, gapsin:0 |
||||
workspace = f[1], gapsout:0, gapsin:0 |
||||
windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1] |
||||
windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] |
||||
windowrulev2 = bordersize 0, floating:0, onworkspace:f[1] |
||||
windowrulev2 = rounding 0, floating:0, onworkspace:f[1] |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more |
||||
dwindle { |
||||
force_split = 2 # split to the bottom right |
||||
preserve_split = true |
||||
pseudotile = false |
||||
} |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more |
||||
master { |
||||
new_status = master |
||||
} |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc |
||||
misc { |
||||
disable_hyprland_logo = true |
||||
vfr = true # lower amount of sent frames when nothing is happening on-screen |
||||
} |
||||
|
||||
|
||||
############# |
||||
### INPUT ### |
||||
############# |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input |
||||
input { |
||||
kb_layout = us |
||||
kb_variant = |
||||
kb_model = |
||||
kb_options = caps:swapescape |
||||
kb_rules = |
||||
|
||||
follow_mouse = 1 |
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. |
||||
|
||||
touchpad { |
||||
natural_scroll = false |
||||
} |
||||
} |
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures |
||||
gestures { |
||||
workspace_swipe = false |
||||
} |
||||
|
||||
# Example per-device config |
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more |
||||
device { # hyprctl devices |
||||
name = logitech-wireless-mouse-pid:4038 |
||||
sensitivity = -0.5 |
||||
accel_profile = flat |
||||
} |
||||
|
||||
|
||||
################### |
||||
### KEYBINDINGS ### |
||||
################### |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ |
||||
$mainMod = SUPER # Sets "Windows" key as main modifier |
||||
|
||||
# Bind docs https://wiki.hyprland.org/Configuring/Binds/ |
||||
|
||||
#--- Control ---# |
||||
|
||||
# Reload hyprland |
||||
bind = $mainMod Control_L, r, forcerendererreload |
||||
|
||||
# Close hyprland |
||||
bind = $mainMod SHIFT, M, exit, |
||||
|
||||
#--- Window ---# |
||||
|
||||
# Close window |
||||
bind = $mainMod, q, killactive, |
||||
|
||||
#-- State/flags --# |
||||
|
||||
# Toggle fullscreen mode |
||||
bind = $mainMod, f, fullscreen |
||||
|
||||
# Toggle tiled/floating |
||||
bind = $mainMod, Space, togglefloating, |
||||
|
||||
#-- Focus --# |
||||
|
||||
# Focus window in direction |
||||
bind = $mainMod, h, movefocus, l |
||||
bind = $mainMod, j, movefocus, d |
||||
bind = $mainMod, k, movefocus, u |
||||
bind = $mainMod, l, movefocus, r |
||||
bind = $mainMod, left, movefocus, l |
||||
bind = $mainMod, right, movefocus, r |
||||
bind = $mainMod, up, movefocus, u |
||||
bind = $mainMod, down, movefocus, d |
||||
|
||||
# Focus previous/next window |
||||
bind = $mainMod, Tab, cyclenext |
||||
bind = $mainMod SHIFT, Tab, cyclenext, prev |
||||
|
||||
# Focus workspace |
||||
bind = $mainMod, 1, workspace, 1 |
||||
bind = $mainMod, 2, workspace, 2 |
||||
bind = $mainMod, 3, workspace, 3 |
||||
bind = $mainMod, 4, workspace, 4 |
||||
bind = $mainMod, 5, workspace, 5 |
||||
bind = $mainMod, 6, workspace, 6 |
||||
bind = $mainMod, 7, workspace, 7 |
||||
bind = $mainMod, 8, workspace, 8 |
||||
bind = $mainMod, 9, workspace, 9 |
||||
bind = $mainMod, 0, workspace, 10 |
||||
|
||||
# Focus previous/next workspace |
||||
bind = $mainMod, equal, workspace, e+1 |
||||
bind = $mainMod, minus, workspace, e-1 |
||||
|
||||
# Focus last workspace |
||||
bind = $mainMod, GRAVE, focuscurrentorlast |
||||
|
||||
# Focus previous/next monitor |
||||
# TODO |
||||
|
||||
# Special workspace (scratchpad) |
||||
bind = $mainMod, T, togglespecialworkspace, magic |
||||
|
||||
#-- Move --# |
||||
|
||||
# Send window to workspace |
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1 |
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2 |
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3 |
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4 |
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5 |
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6 |
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7 |
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8 |
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9 |
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10 |
||||
|
||||
# Move window to previous/next workspace |
||||
bind = $mainMod SHIFT, equal, movetoworkspace, e+1 |
||||
bind = $mainMod SHIFT, minus, movetoworkspace, e-1 |
||||
|
||||
# Move window to previous/next monitor |
||||
# TODO |
||||
|
||||
# Move floating window |
||||
bind = Control_L Alt_L, h, moveactive, -30 0 |
||||
bind = Control_L Alt_L, j, moveactive, 0 30 |
||||
bind = Control_L Alt_L, k, moveactive, 0 -30 |
||||
bind = Control_L Alt_L, l, moveactive, 30 0 |
||||
bind = Control_L Alt_L, left, moveactive, -30 0 |
||||
bind = Control_L Alt_L, right, moveactive, 30 0 |
||||
bind = Control_L Alt_L, up, moveactive, 0 -30 |
||||
bind = Control_L Alt_L, down, moveactive, 0 30 |
||||
|
||||
# Flip the tree from the current windows parent |
||||
bind = $mainMod Alt_L, 5, swapsplit, # dwindle |
||||
bind = $mainMod Alt_L, 6, togglesplit, # dwindle |
||||
|
||||
# Special workspace (scratchpad) |
||||
bind = $mainMod SHIFT, T, movetoworkspace, special:magic |
||||
|
||||
#-- Resize --# |
||||
|
||||
# Resize windows |
||||
bind = $mainMod Alt_L, h, resizeactive, -10 0 |
||||
bind = $mainMod Alt_L, j, resizeactive, 0 10 |
||||
bind = $mainMod Alt_L, k, resizeactive, 0 -10 |
||||
bind = $mainMod Alt_L, l, resizeactive, 10 0 |
||||
bind = $mainMod Alt_L, left, resizeactive, -10 0 |
||||
bind = $mainMod Alt_L, right, resizeactive, 10 0 |
||||
bind = $mainMod Alt_L, up, resizeactive, 0 -10 |
||||
bind = $mainMod Alt_L, down, resizeactive, 0 10 |
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging |
||||
bindm = $mainMod, mouse:272, movewindow |
||||
bindm = $mainMod, mouse:273, resizewindow |
||||
|
||||
#-- Preselect node --# |
||||
|
||||
bind = SUPER Control_L, h, layoutmsg, preselect left |
||||
bind = SUPER Control_L, j, layoutmsg, preselect down |
||||
bind = SUPER Control_L, k, layoutmsg, preselect up |
||||
bind = SUPER Control_L, l, layoutmsg, preselect right |
||||
bind = SUPER Control_L, left, layoutmsg, preselect left |
||||
bind = SUPER Control_L, right, layoutmsg, preselect right |
||||
bind = SUPER Control_L, up, layoutmsg, preselect up |
||||
bind = SUPER Control_L, down, layoutmsg, preselect down |
||||
|
||||
#--- General ---# |
||||
|
||||
# Start terminal |
||||
bind = $mainMod, Return, exec, $terminal |
||||
|
||||
# Start rofi (program launcher) |
||||
bind = $mainMod, d, exec, $menu |
||||
|
||||
# mpv |
||||
bind = $mainMod, m, exec, play |
||||
bind = $mainMod SHIFT, m, exec, play queue |
||||
|
||||
#--- Control, compositor agnostic ---# |
||||
|
||||
# Reload |
||||
bind = $mainMod Control_L, r, exec, ${HOME}/.local/bin/panel/waybar.sh |
||||
|
||||
# System |
||||
bind = $mainMod SHIFT, s, exec, system |
||||
|
||||
# Screen brightness |
||||
bind = $mainMod, F2, exec, brictl dec 10 |
||||
bind = $mainMod, F3, exec, brictl inc 10 |
||||
|
||||
# Screen capture |
||||
bind = , Print, exec, printscreen |
||||
bind = Control_L, Print, exec, aliases screencast |
||||
|
||||
# Laptop multimedia keys |
||||
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ |
||||
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- |
||||
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle |
||||
bindel = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle |
||||
bindel = , XF86MonBrightnessUp, exec, brictl inc 10 |
||||
bindel = , XF86MonBrightnessDown, exec, brictl dec 10 |
||||
|
||||
bindl = , XF86AudioNext, exec, playerctl next |
||||
bindl = , XF86AudioPause, exec, playerctl play-pause |
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause |
||||
bindl = , XF86AudioPrev, exec, playerctl previous |
||||
|
||||
bindl = , XF86HomePage, exec, inputctl -d toggle # toggle touchpad |
||||
bindl = , XF86Search, exec, inputctl -s toggle # toggle touchscreen |
||||
|
||||
#--- Notification ---# |
||||
|
||||
# Notifiation |
||||
bind = Control_L, space, exec, dunstctl close |
||||
bind = Control_L SHIFT, space, exec, dunstctl close-all |
||||
bind = Control_L, grave, exec, dunstctl history-pop |
||||
bind = Control_L SHIFT, period, exec, dunstctl context |
||||
|
||||
|
||||
############################## |
||||
### WINDOWS AND WORKSPACES ### |
||||
############################## |
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more |
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules |
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this. |
||||
windowrulev2 = suppressevent maximize, class:.* |
||||
|
||||
# Fix some dragging issues with XWayland |
||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 |
||||
|
||||
# Set to floating |
||||
windowrule = float, feh # window rule v1 can only do either class or title, not both |
||||
windowrule = float, mpv |
||||
windowrule = float, org.pulseaudio.pavucontrol |
||||
windowrule = float, xarchiver |
||||
windowrulev2 = float, class:firefox, title:Library |
||||
windowrulev2 = float, class:firefox, title:^About.* |
||||
windowrulev2 = float, class:thunar, title:File Operation Progress |
||||
|
||||
# Resize floating windows |
||||
windowrule = size >50% >70%, org.pulseaudio.pavucontrol |
@ -0,0 +1,72 @@
|
||||
$font_size = 48 |
||||
$font_size_small = 16 |
||||
$image_size = 175 |
||||
|
||||
general { |
||||
hide_cursor = true |
||||
ignore_empty_input = true |
||||
} |
||||
|
||||
background { |
||||
monitor = |
||||
path = screenshot |
||||
blur_passes = 2 |
||||
blur_size = 2 |
||||
noise = 0 |
||||
} |
||||
|
||||
label { |
||||
font_family = DejaVu Sans Serif |
||||
font_size = $font_size |
||||
|
||||
text = $TIME12 |
||||
text_align = center |
||||
|
||||
position = 0, 275 |
||||
halign = center |
||||
valign = center |
||||
} |
||||
|
||||
label { |
||||
font_family = DejaVu Sans Serif |
||||
font_size = $font_size_small |
||||
|
||||
text = cmd[] date "+%A, %B %d" |
||||
|
||||
position = 0, 200 |
||||
halign = center |
||||
valign = center |
||||
} |
||||
|
||||
image { |
||||
monitor = |
||||
path = ~/.local/bin/wm/lock.png |
||||
size = $image_size |
||||
rounding = -1 |
||||
border_size = 0 |
||||
|
||||
halign = center |
||||
valign = center |
||||
} |
||||
|
||||
input-field { |
||||
monitor = |
||||
size = $image_size, $image_size |
||||
|
||||
outline_thickness = 10 |
||||
outer_color = rgba(0, 0, 0, 0.0) |
||||
inner_color = rgba(0, 0, 0, 0.0) |
||||
check_color = rgba(0, 0, 0, 0.0) |
||||
|
||||
font_family = DejaVu Sans Serif |
||||
font_color = rgba(255, 255, 255, 0.9) |
||||
placeholder_text = |
||||
fail_text = |
||||
|
||||
hide_input = true |
||||
rounding = -1 |
||||
fade_on_empty = false |
||||
|
||||
halign = center |
||||
valign = center |
||||
} |
@ -0,0 +1,7 @@
|
||||
{ |
||||
"export-settings-ini": true, |
||||
"export-gtkrc-20": true, |
||||
"export-index-theme": true, |
||||
"export-xsettingsd": true, |
||||
"export-gtk4-symlinks": true |
||||
} |
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<interface> |
||||
<object class="GtkMenu" id="menu"> |
||||
<child> |
||||
<object class="GtkMenuItem" id="lock"> |
||||
<property name="label">Lock</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="suspend"> |
||||
<property name="label">Suspend</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="hibernate"> |
||||
<property name="label">Hibernate</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="shutdown"> |
||||
<property name="label">Shutdown</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkSeparatorMenuItem" id="delimiter1"/> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="reboot"> |
||||
<property name="label">Reboot</property> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</interface> |
@ -0,0 +1,228 @@
|
||||
@define-color black #000; |
||||
@define-color red #a54242; /* 1 */ |
||||
@define-color orange #de935f; /* 3 */ |
||||
@define-color blue #5f819d; /* 4 */ |
||||
@define-color green #b5bd68; /* 10 */ |
||||
|
||||
@define-color bgcolor #404552; |
||||
@define-color bgcolor-inactive #2b2e39; |
||||
@define-color bgcolor-urgent #dc7a43; |
||||
@define-color fgcolor #fff; |
||||
@define-color fgcolor-inactive #676e7d; |
||||
|
||||
* { |
||||
/* `otf-font-awesome` is required to be installed for icons */ |
||||
font-family: FontAwesome, DejaVu Sans Serif; |
||||
font-size: 12px; |
||||
} |
||||
|
||||
window#waybar { |
||||
background-color: @bgcolor-inactive; |
||||
color: @fgcolor; |
||||
transition-property: background-color; |
||||
transition-duration: .5s; |
||||
} |
||||
|
||||
window#waybar.hidden { |
||||
opacity: 0.2; |
||||
} |
||||
|
||||
button { |
||||
/* Use box-shadow instead of border so the text isn't offset */ |
||||
box-shadow: inset 0 -3px transparent; |
||||
/* Avoid rounded borders under each button name */ |
||||
border: none; |
||||
border-radius: 0; |
||||
} |
||||
|
||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ |
||||
button:hover { |
||||
background: inherit; |
||||
box-shadow: inset 0 -3px @fgcolor; |
||||
} |
||||
|
||||
#custom-btc, |
||||
#pulseaudio, |
||||
#wireplumber, |
||||
#custom-media, |
||||
#backlight, |
||||
#network, |
||||
#battery, |
||||
#clock, |
||||
#tray, |
||||
#custom-power { |
||||
padding: 0 6px; |
||||
color: @fgcolor; |
||||
} |
||||
|
||||
#window, |
||||
#workspaces { |
||||
margin: 0 4px; |
||||
} |
||||
|
||||
@keyframes blink { |
||||
to { |
||||
background-color: @fgcolor; |
||||
color: @black; |
||||
} |
||||
} |
||||
|
||||
label:focus { |
||||
background-color: @black; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Workspaces module */ |
||||
|
||||
#workspaces button { |
||||
padding: 0 5px; |
||||
background-color: transparent; |
||||
color: @fgcolor-inactive; |
||||
box-shadow: none; |
||||
} |
||||
|
||||
#workspaces button:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#workspaces button.active { |
||||
background-color: @bgcolor; |
||||
box-shadow: inset 0 -3px @blue; |
||||
color: @fgcolor; |
||||
} |
||||
|
||||
#workspaces button.focused { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#workspaces button.urgent { |
||||
background-color: @bgcolor-urgent; |
||||
} |
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */ |
||||
.modules-left > widget:first-child > #workspaces { |
||||
margin-left: 0; |
||||
} |
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */ |
||||
.modules-right > widget:last-child > #workspaces { |
||||
margin-right: 0; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* BTC module */ |
||||
|
||||
#custom-btc:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Media modules */ |
||||
|
||||
#pulseaudio, #wireplumber { |
||||
color: @fgcolor; |
||||
} |
||||
|
||||
#pulseaudio:hover, #wireplumber:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#pulseaudio.muted, #wireplumber.muted { |
||||
color: @fgcolor-inactive |
||||
} |
||||
|
||||
#custom-media { |
||||
color: @green; |
||||
min-width: 100px; |
||||
} |
||||
|
||||
#custom-media.custom-spotify { |
||||
color: @green; |
||||
} |
||||
|
||||
#custom-media.custom-vlc { |
||||
color: @orange; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Backlight module */ |
||||
|
||||
#backlight:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Network module */ |
||||
|
||||
#network:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#network.disconnected { |
||||
background-color: @bgcolor-inactive; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Battery module */ |
||||
|
||||
#battery:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#battery.good { |
||||
color: @green; |
||||
} |
||||
|
||||
/* Using steps() instead of linear as a timing function to limit cpu usage */ |
||||
#battery.critical:not(.charging) { |
||||
background-color: @bgcolor-urgent; |
||||
animation-name: blink; |
||||
animation-duration: 2s; |
||||
animation-timing-function: steps(3); |
||||
animation-iteration-count: infinite; |
||||
animation-direction: alternate; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Clock module */ |
||||
|
||||
#clock:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Tray module */ |
||||
|
||||
#tray:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
#tray > .passive { |
||||
-gtk-icon-effect: dim; |
||||
} |
||||
|
||||
#tray > .needs-attention { |
||||
-gtk-icon-effect: highlight; |
||||
background-color: @bgcolor-urgent; |
||||
} |
||||
|
||||
/* -------------------------------------- */ |
||||
/* Power module */ |
||||
|
||||
#custom-power { |
||||
color: @red; |
||||
} |
||||
|
||||
#custom-power:hover { |
||||
background-color: @bgcolor; |
||||
} |
||||
|
||||
/* If power module is the leftmost module, set left margin */ |
||||
.modules-left > widget:first-child > #custom-power { |
||||
margin-left: 6px; |
||||
} |
||||
|
||||
/* If power module is the rightmost module, set right margin */ |
||||
.modules-right > widget:last-child > #custom-power { |
||||
margin-right: 6px; |
||||
} |
@ -0,0 +1,9 @@
|
||||
Net/ThemeName "Arc-Dark" |
||||
Net/IconThemeName "Arc" |
||||
Gtk/CursorThemeName "capitaine-cursors-light" |
||||
Net/EnableEventSounds 1 |
||||
EnableInputFeedbackSounds 1 |
||||
Xft/Antialias 1 |
||||
Xft/Hinting 1 |
||||
Xft/HintStyle "hintslight" |
||||
Xft/RGBA "rgb" |
@ -1,3 +1,7 @@
|
||||
XORG_USER='rick' |
||||
|
||||
[ "$USER" = "$XORG_USER" ] && [ "$(tty)" = "/dev/tty1" ] && exec xinit -- vt1 > /dev/null 2>&1 |
||||
if [ "$WAYLAND" = true ]; then |
||||
[ "$USER" = "$XORG_USER" ] && [ "$(tty)" = "/dev/tty1" ] && exec hyprland > /dev/null 2>&1 |
||||
else |
||||
[ "$USER" = "$XORG_USER" ] && [ "$(tty)" = "/dev/tty1" ] && exec xinit -- vt1 > /dev/null 2>&1 |
||||
fi |
||||
|
@ -0,0 +1,5 @@
|
||||
# This file is written by nwg-look. Do not edit. |
||||
[Icon Theme] |
||||
Name=Default |
||||
Comment=Default Cursor Theme |
||||
Inherits=capitaine-cursors-light |
@ -0,0 +1,7 @@
|
||||
#!/bin/sh |
||||
|
||||
# Kill existing panel |
||||
pkill --exact --signal 9 waybar |
||||
|
||||
# Start panel |
||||
setsid -f waybar |
@ -1,7 +1,26 @@
|
||||
#!/bin/sh |
||||
|
||||
WALLPAPER="$HOME/pictures/wallpaper.jpg" |
||||
|
||||
# Overwrite wallpaper with new image if provided |
||||
[ -n "$1" ] && cp "$1" "$HOME/pictures/wallpaper.jpg" |
||||
[ -n "$1" ] && cp "$1" "$WALLPAPER" |
||||
|
||||
# Set wallpaper |
||||
feh --no-fehbg --bg-fill "$HOME/pictures/wallpaper.jpg" |
||||
if [ "$WAYLAND" = true ]; then |
||||
pkill hyprpaper |
||||
setsid -f hyprpaper |
||||
|
||||
# Wait until hyprpaper is available |
||||
while true; do |
||||
output=$(hyprctl hyprpaper) |
||||
if ! echo "$output" | grep -q ".sock"; then |
||||
break |
||||
fi |
||||
sleep 0.1 |
||||
done |
||||
|
||||
hyprctl hyprpaper preload "$WALLPAPER" |
||||
hyprctl hyprpaper wallpaper ",$WALLPAPER" |
||||
else |
||||
feh --no-fehbg --bg-fill "$WALLPAPER" |
||||
fi |
||||
|
@ -0,0 +1,3 @@
|
||||
# Resolver configuration file. |
||||
# See resolv.conf(5) for details. |
||||
nameserver 192.168.0.1 |
@ -0,0 +1,51 @@
|
||||
arandr |
||||
autorandr |
||||
bspwm |
||||
doxygen |
||||
ebtables |
||||
emacs-nativecomp |
||||
frei0r-plugins |
||||
fritzing |
||||
ghc |
||||
graphviz |
||||
i3lock-color-git |
||||
intel-media-driver |
||||
intel-media-sdk |
||||
intel-ucode |
||||
lib32-vulkan-intel |
||||
libmtp |
||||
libnotify-id |
||||
lxappearance |
||||
maim |
||||
mdadm |
||||
minted |
||||
platformio |
||||
polkit-kde-agent |
||||
polybar |
||||
python-image |
||||
python-tqdm |
||||
qemu |
||||
qemu-arch-extra |
||||
qt5gtk2 |
||||
qt6gtk2 |
||||
redshift |
||||
rofi |
||||
rxvt-unicode |
||||
stalonetray |
||||
sxhkd |
||||
synergy2-bin |
||||
texlive-core |
||||
ttf-ms-win10 |
||||
vulkan-intel |
||||
x264 |
||||
xarchiver |
||||
xclip |
||||
xdo |
||||
xdotool |
||||
xorg-server |
||||
xorg-xev |
||||
xorg-xinit |
||||
xorg-xinput |
||||
xorg-xprop |
||||
xorg-xrandr |
||||
xorg-xsetroot |
@ -0,0 +1,32 @@
|
||||
amd-ucode |
||||
ark |
||||
dxvk-bin |
||||
emacs-wayland |
||||
gamescope |
||||
gammastep |
||||
ghostty |
||||
grim |
||||
hypridle |
||||
hyprland |
||||
hyprlock |
||||
hyprpaper |
||||
hyprpolkitagent |
||||
kvantum |
||||
kvantum-qt5 |
||||
lib32-mesa |
||||
lib32-vkd3d-proton-git |
||||
lib32-vulkan-radeon |
||||
nwg-look |
||||
pipewire-alsa |
||||
pipewire-pulse |
||||
rofi-wayland |
||||
rtkit |
||||
slurp |
||||
steam |
||||
sunshine-bin |
||||
vkd3d-proton-bin |
||||
vulkan-radeon |
||||
waybar |
||||
wl-clipboard |
||||
xdg-desktop-portal-hyprland |
||||
ydotool |
Loading…
Reference in new issue