diff --git a/laptop/configs/Makefile b/laptop/configs/Makefile
index 924411b..7913403 100644
--- a/laptop/configs/Makefile
+++ b/laptop/configs/Makefile
@@ -1,5 +1,5 @@
all:
- stow --verbose --target=$$HOME --restow */
+ xstow --verbose --target=$$HOME --restow */
delete:
- stow --verbose --target=$$HOME --delete */
+ xstow --verbose --target=$$HOME --delete */
diff --git a/laptop/configs/alacritty/.config/alacritty/alacritty.toml b/laptop/configs/alacritty/.config/alacritty/alacritty.toml
new file mode 100644
index 0000000..59b7788
--- /dev/null
+++ b/laptop/configs/alacritty/.config/alacritty/alacritty.toml
@@ -0,0 +1,63 @@
+# There are the specification here: https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
+# It is not obvious how it translates to TOML. But it is extremely straightforward.
+
+# example: WINDOW, COLORS, etc. are tables, and should be represented as [window], [colors], respectively.
+# specifics of variables go under them. e.g.- look under "dynamic_padding" under-
+# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#window
+# write `dynamic_padding = true` (without backticks -`) under the table [window]
+# for variables with multiple values, use "dotted keys". Like setting `padding.x = 5` under [window].
+# This is simple. If not clear, do several trials and errors.
+
+# Below is my initial set-up. The TOML homepage (https://toml.io/en/v1.0.0) was very helpful in figuring this out.
+# I put the file alacritty.toml in $HOME/.config/alacritty. However it can be kept anywhere among the places mentioned in
+# https://github.com/alacritty/alacritty/tree/master#configuration
+
+[window]
+
+# opacity = 0.9
+
+padding.x = 10
+# padding.y = 10
+
+decorations = "Full"
+decorations_theme_variant = "Light" # "Dark"
+
+[font]
+size = 11.5
+normal.family = "CartographCF Nerd Font"
+normal.style = "Regular"
+bold.family = "CartographCF Nerd Font"
+bold.style = "DemiBold"
+italic.family = "CartographCF Nerd Font"
+italic.style = "Italic"
+bold_italic.family = "CartographCF Nerd Font"
+bold_italic.style = "ExtraBold Italic"
+
+
+[colors.primary]
+background = "#001e27"
+foreground = "#9cc2c3"
+
+[colors.normal]
+black = '#002831' # Black (Host)
+red = '#d11c24' # red (syntax string)
+green = '#6cbe6c' # green (command)
+yellow = '#a57706' # yellow (command second)
+blue = '#2176c7' # blue (path)
+magenta = '#c61c6f' # magenta (syntax var)
+cyan = '#259286' # cyan (prompt)
+white= '#eae3cb' # white
+
+[colors.bright]
+black= '#006488' # Bright Black
+red = '#f5163b' # bright red (command error)
+green = '#51ef84' # bright green (exec)
+yellow= '#b27e28' # bright yellow
+blue = '#178ec8' # bright blue (folder)
+magenta= '#e24d8e' # bright magenta
+cyan= '#00b39e' # bright cyan
+white= '#fcf4dc' # bright white
+
+[colors.cursor]
+text = "#002b36"
+cursor = "#9cc2c3"
diff --git a/laptop/configs/fastfetch/.config/fastfetch/config.jsonc b/laptop/configs/fastfetch/.config/fastfetch/config.jsonc
new file mode 120000
index 0000000..1132cb6
--- /dev/null
+++ b/laptop/configs/fastfetch/.config/fastfetch/config.jsonc
@@ -0,0 +1 @@
+minimal.jsonc
\ No newline at end of file
diff --git a/laptop/configs/fastfetch/.config/fastfetch/logo.jsonc b/laptop/configs/fastfetch/.config/fastfetch/logo.jsonc
new file mode 100644
index 0000000..bc9260b
--- /dev/null
+++ b/laptop/configs/fastfetch/.config/fastfetch/logo.jsonc
@@ -0,0 +1,66 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": {
+ // "source": "~/pics/anime.jpg",
+ // "type": "sixel",
+ "width": 30,
+ "padding": {
+ "top": 2,
+ "right": 6,
+ },
+ },
+ "display": {
+ "separator": " • ",
+ },
+ "modules": [
+ "break",
+ "break",
+ {
+ "type": "title",
+ "color": {
+ "user": "32",
+ "at": "37",
+ "host": "32",
+ },
+ },
+ "break",
+ {
+ "type": "os",
+ "key": "distribution ",
+ "keyColor": "33",
+ },
+ {
+ "type": "kernel",
+ "key": "linux kernel ",
+ "keyColor": "33",
+ },
+ {
+ "type": "packages",
+ "key": "packages ",
+ "keyColor": "33",
+ },
+ {
+ "type": "shell",
+ "key": "unix shell ",
+ "keyColor": "33",
+ },
+ {
+ "type": "terminal",
+ "key": "terminal ",
+ "keyColor": "33",
+ },
+ {
+ "type": "wm",
+ "format": "{}",
+ "key": "window manager ",
+ "keyColor": "33",
+ },
+ "break",
+ {
+ "type": "colors",
+ "symbol": "circle",
+ },
+ "break",
+ "break",
+ ],
+}
diff --git a/laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc b/laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc
new file mode 100644
index 0000000..155bd9e
--- /dev/null
+++ b/laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc
@@ -0,0 +1,42 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": null,
+ "display": {
+ "separator": " › ",
+ },
+ "modules": [
+ "break",
+ {
+ "type": "os",
+ "key": "OS ",
+ "keyColor": "31",
+ },
+ {
+ "type": "kernel",
+ "key": "KER ",
+ "keyColor": "32",
+ },
+ {
+ "type": "packages",
+ "key": "PKG ",
+ "keyColor": "33",
+ },
+ {
+ "type": "shell",
+ "key": "SH ",
+ "keyColor": "34",
+ },
+ {
+ "type": "terminal",
+ "key": "TER ",
+ "keyColor": "35",
+ },
+ {
+ "type": "wm",
+ "format": "{}",
+ "key": "WM ",
+ "keyColor": "36",
+ },
+ "break",
+ ],
+}
diff --git a/laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini b/laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini
new file mode 100644
index 0000000..96e1a28
--- /dev/null
+++ b/laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini
@@ -0,0 +1,32 @@
+[main]
+font=JetBrainsMono NF SemiBold:size=13
+dpi-aware=no
+fields=name,generic,comment,categories,filename,keywords
+terminal=foot -e
+prompt="Search "
+icon-theme=Papirus
+icons-enabled=no
+show-actions=yes
+anchor=top
+lines=10
+width=40
+horizontal-pad=20
+vertical-pad=20
+inner-pad=5
+line-height=20
+letter-spacing=0
+image-size-ratio=0.2
+layer = top
+exit-on-keyboard-focus-loss = yes
+
+[colors]
+background=002b36ff
+text=839496ff
+match=9ece6aff
+selection=2aa198ff
+selection-text=1a1b26ff
+border=2aa198ff
+
+[border]
+width=2
+radius=0
diff --git a/laptop/configs/sway/.config/sway/config b/laptop/configs/sway/.config/sway/config
new file mode 100644
index 0000000..5136f6b
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/config
@@ -0,0 +1,3 @@
+include ~/.config/sway/settings/*
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/laptop/configs/sway/.config/sway/settings/binds b/laptop/configs/sway/.config/sway/settings/binds
new file mode 100644
index 0000000..a56e6ee
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/settings/binds
@@ -0,0 +1,100 @@
+set $mod Mod4
+set $left h
+set $down j
+set $up k
+set $right l
+set $term alacritty
+set $menu fuzzel
+
+mode "resize" {
+ bindsym $left resize shrink width 40px
+ bindsym $down resize grow height 40px
+ bindsym $up resize shrink height 40px
+ bindsym $right resize grow width 40px
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+bindsym $mod+b exec firefox
+bindsym $mod+Shift+b exec qutebrowser
+bindsym $mod+Return exec $term
+bindsym $mod+Shift+c kill
+bindsym $mod+Shift+Return exec $menu
+floating_modifier $mod normal
+bindsym $mod+Shift+r reload
+bindsym $mod+Shift+q exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
+
+bindsym $mod+$up focus up
+bindsym $mod+$down focus down
+bindsym $mod+$left focus left
+bindsym $mod+$right focus right
+
+bindsym $mod+Shift+$up move up
+bindsym $mod+Shift+$down move down
+bindsym $mod+Shift+$left move left
+bindsym $mod+Shift+$right move right
+
+bindsym $mod+1 exec ~/.config/sway/xmonad workspace 1
+bindsym $mod+2 exec ~/.config/sway/xmonad workspace 2
+bindsym $mod+3 exec ~/.config/sway/xmonad workspace 3
+bindsym $mod+4 exec ~/.config/sway/xmonad workspace 4
+bindsym $mod+5 exec ~/.config/sway/xmonad workspace 5
+bindsym $mod+6 exec ~/.config/sway/xmonad workspace 6
+bindsym $mod+7 exec ~/.config/sway/xmonad workspace 7
+bindsym $mod+8 exec ~/.config/sway/xmonad workspace 8
+bindsym $mod+9 exec ~/.config/sway/xmonad workspace 9
+bindsym $mod+0 exec ~/.config/sway/xmonad workspace 10
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+
+bindsym $mod+Control+h splith
+bindsym $mod+Control+v splitv
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+Shift+e layout toggle split
+bindsym $mod+f fullscreen
+bindsym $mod+t floating toggle
+
+# Swap focus between the tiling area and the floating area
+bindsym $mod+space focus mode_toggle
+bindsym $mod+a focus parent
+
+bindsym $mod+comma focus output left
+bindsym $mod+period focus output right
+bindsym $mod+Shift+comma move container to output left
+bindsym $mod+Shift+period move container to output right
+bindsym $mod+Control+Return move scratchpad
+
+# Show the next scratchpad window or hide the focused scratchpad window.
+# If there are multiple scratchpad windows, this command cycles through them.
+bindsym $mod+Control+s scratchpad show
+
+bindsym $mod+Shift+s exec steam --noverifyfiles
+bindsym $mod+e exec pcmanfm
+bindsym Home exec ~/.local/bin/way-print.sh p
+bindsym Shift+Home exec ~/.local/bin/way-print.sh s
+bindsym Control+Shift+Home exec ~/.local/bin/way-print.sh t
+bindsym Control+Home exec ~/.local/bin/print-window.sh
+
+# audio
+bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
+bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+bindsym XF86AudioMute exec wpctl set-sink-mute @DEFAULT_SINK@ toggle
+bindsym XF86AudioMicMute exec wpctl set-source-mute @DEFAULT_SOURCE@ toggle
+bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
+bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
+bindsym XF86AudioPlay exec playerctl play-pause
+bindsym XF86AudioNext exec playerctl next
+bindsym XF86AudioPrev exec playerctl previous
+bindsym XF86Search exec bemenu-run
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/laptop/configs/sway/.config/sway/settings/config b/laptop/configs/sway/.config/sway/settings/config
new file mode 100644
index 0000000..3b8e702
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/settings/config
@@ -0,0 +1,31 @@
+output {
+}
+
+default_border pixel 2
+client.focused #268bd2 #268bd2 #002b36
+client.focused_inactive #268bd2 #002b36 #839496
+focus_on_window_activation none
+popup_during_fullscreen smart
+no_focus [window_role="pop-up"]
+
+gaps inner 10
+mouse_warping none
+
+input "2362:9523:Gaming_Mouse" {
+ accel_profile flat
+ dwt enabled
+ middle_emulation enabled
+ pointer_accel 0.5
+}
+
+input "1:1:AT_Translated_Set_2_keyboard" {
+ xkb_layout br
+ xkb_variant abnt2
+ xkb_options ctrl:nocaps
+}
+
+input "1356:2508:Wireless_Controller_Touchpad" {
+ map_to_output DISABLED
+}
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/laptop/configs/sway/.config/sway/settings/init b/laptop/configs/sway/.config/sway/settings/init
new file mode 100644
index 0000000..8a59bc0
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/settings/init
@@ -0,0 +1,21 @@
+set $gnome-schema org.gnome.desktop.interface
+exec_always {
+ # gsettings set $gnome-schema gtk-theme 'Gruvbox-Dark-BL-LB'
+ # gsettings set $gnome-schema icon-theme 'Nordzy-green-dark'
+ # gsettings set $gnome-schema cursor-theme 'oreo_white_cursors'
+ gsettings set $gnome-schema font-name 'CartographCF Nerd Font 11'
+}
+
+exec {
+ waybar &
+ autotiling &
+ gammastep -t 4500:3500 -l -23.5475:-46.63611 -b 1.0:0.6 &
+ dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
+ rm -rf ~/tmp/*
+ ~/scripts/swww.sh
+ otd-daemon
+ ~/scripts/weechat.sh
+ dunst &
+}
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/laptop/configs/sway/.config/sway/settings/rules b/laptop/configs/sway/.config/sway/settings/rules
new file mode 100644
index 0000000..8a025fd
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/settings/rules
@@ -0,0 +1,47 @@
+for_window [class="Anki" title="Add"] floating enable
+for_window [shell=".*"] inhibit_idle fullscreen
+for_window [app_id=".*office.*"] move to workspace 5
+for_window [app_id="Firefox"] move to workspace 2
+for_window [app_id="WebCord"] move to workspace 6
+for_window [class="Steam"] move to workspace 8
+for_window [class="Spotify"] move to workspace 4
+for_window [class="steam"] move to workspace 8
+for_window [class=".*jetbrains.*"] move to workspace 5
+for_window [app_id="lutris"] move to workspace 7
+for_window [class="heroic"] move to workspace 7
+for_window [class="explorer.exe"] move to workspace 9
+for_window [class="osu!"] move to workspace 9
+for_window [title="Wine System Tray"] kill
+for_window [app_id="org.prismlauncher.PrismLauncher"] move to workspace 7
+for_window [class="ffxiv_dx11.exe"] move to workspace 9, floating enable
+for_window [class="battle.net.exe"] move to workspace 9, floating enable
+for_window [class="diablo iv.exe"] move to workspace 9, floating enable
+for_window [class=".*Minecraft.*"] move to workspace 9, floating enable
+for_window [class="XIVLauncher.Core"] move to workspace 9, floating enable
+for_window [class=".*csgo.*"] move to workspace 9, floating enable
+assign [class="gamescope"] 9
+for_window [class="gamescope"] floating enable
+for_window [class="cs2"] move to workspace 9, fullscreen enable
+for_window [class=".*steam_.*"] move to workspace 9, floating enable
+for_window [class="Melvor Idle"] move to workspace 10
+
+# firefox tweaks
+for_window [title = "Firefox - Sharing Indicator"] kill
+for_window [title = "About Mozilla Firefox"] floating enable
+for_window [window_role = "About"] floating enable
+for_window [app_id="firefox" title="Library"] floating enable, border pixel 1, sticky enable
+for_window [title = "Firefox — Sharing Indicator"] kill
+
+# steam tweaks
+for_window [class="^Steam$" title="^Friends$"] floating enable
+for_window [class="^Steam$" title="Steam - News"] floating enable
+for_window [class="^Steam$" title=".* - Chat"] floating enable
+for_window [class="^Steam$" title="^Settings$"] floating enable
+for_window [class="^Steam$" title=".* - event started"] floating enable
+for_window [class="^Steam$" title=".* CD key"] floating enable
+for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
+for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
+for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
+for_window [title="^Steam Keyboard$"] floating enable
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/laptop/configs/sway/.config/sway/xmonad b/laptop/configs/sway/.config/sway/xmonad
new file mode 100755
index 0000000..5dce18e
--- /dev/null
+++ b/laptop/configs/sway/.config/sway/xmonad
@@ -0,0 +1,121 @@
+#!/bin/python3
+import argparse
+from i3ipc import Connection
+
+sway = Connection()
+outputs = [o for o in sway.get_outputs() if o.active]
+
+
+def focus_monitor(args):
+ indices = {"left": 0, "center": 1, "right": 2}
+ orientation = indices[args.orientation]
+ if len(outputs) <= 1 or len(outputs) < orientation+1:
+ print(len(outputs))
+ return
+
+ sorted_outputs = sorted(outputs, key=lambda x: x.rect.x)
+ output = sorted_outputs[orientation]
+
+ sway.command(f"workspace {output.current_workspace}")
+
+
+def send_to_monitor(args):
+ indices = {"left": 0, "center": 1, "right": 2}
+ orientation = indices[args.orientation]
+ if len(outputs) <= 1 or len(outputs) < orientation+1:
+ print(len(outputs))
+ return
+
+ sorted_outputs = sorted(outputs, key=lambda x: x.rect.x)
+ output = sorted_outputs[orientation]
+
+ sway.command(f"move container to workspace {output.current_workspace}")
+
+
+def switch_workspace(args):
+ workspaces = sway.get_workspaces()
+ workspaces_by_name = {w.name: w for w in workspaces}
+ focused_workspace = next((w for w in workspaces if w.focused))
+ destination = args.workspace
+
+ if focused_workspace.name == destination:
+ return
+
+ if destination not in workspaces_by_name:
+ # workspace doesn't exist
+ sway.command(f"workspace {destination}")
+ return
+
+ target_workspace = workspaces_by_name[destination]
+ destination_output = focused_workspace.output
+ source_output = target_workspace.output
+ if destination_output == source_output:
+ sway.command(f"workspace {destination}")
+ return
+
+ # workspace belongs to a different output
+ if target_workspace.visible:
+ # the workspace we want in the current output is
+ # being displayed in another output, so we swap
+ commands = [
+ "workspace ___temp___",
+ f"move workspace to output {source_output}",
+ f"workspace {destination}",
+ f"move workspace to output {destination_output}",
+ f"workspace {focused_workspace.name}",
+ f"move workspace to output {source_output}",
+ f"workspace {destination}",
+ ]
+ command = ";".join(commands)
+ sway.command(command)
+ else:
+ # the workspace is in a different output but hidden
+ # bring it to the destination output, no need for temp
+ # since we know there's at least one more
+ commands = [
+ f"workspace {destination}",
+ f"move workspace to output {destination_output}"
+ ]
+ command = ";".join(commands)
+ sway.command(command)
+
+
+parser = argparse.ArgumentParser(description="Process custom sway commands")
+
+subparsers = parser.add_subparsers(help="sub-command help")
+
+output_choose = subparsers.add_parser(
+ "monitor",
+ help="pick monitor in X orientation order"
+)
+output_choose.add_argument(
+ "orientation",
+ type=str,
+ choices=["left", "center", "right"]
+)
+output_choose.set_defaults(func=focus_monitor)
+
+send_to_output = subparsers.add_parser(
+ "send_to_output",
+ help="pick monitor in X orientation order"
+)
+send_to_output.add_argument(
+ "orientation",
+ type=str,
+ choices=["left", "center", "right"]
+)
+send_to_output.set_defaults(func=send_to_monitor)
+
+workspace_choose = subparsers.add_parser(
+ "workspace",
+ help="switch workspace"
+)
+workspace_choose.add_argument(
+ "workspace",
+ type=str
+)
+workspace_choose.set_defaults(func=switch_workspace)
+
+
+args = parser.parse_args()
+args.func(args)
diff --git a/laptop/configs/tmux/.config/tmux/theme.conf b/laptop/configs/tmux/.config/tmux/theme.conf
index 3e3a0c7..bdd1dbd 120000
--- a/laptop/configs/tmux/.config/tmux/theme.conf
+++ b/laptop/configs/tmux/.config/tmux/theme.conf
@@ -1 +1 @@
-/home/lucas/.config/tmux/themes/tmux-monochrome.conf
\ No newline at end of file
+themes/tmux-solarized.conf
\ No newline at end of file
diff --git a/laptop/configs/waybar/.config/waybar/config b/laptop/configs/waybar/.config/waybar/config
index 7984def..ed2190a 100644
--- a/laptop/configs/waybar/.config/waybar/config
+++ b/laptop/configs/waybar/.config/waybar/config
@@ -1,62 +1,86 @@
{
- "spacing": 4,
- // try to keep it 4px across the config
- "height": 25,
- "modules-left": ["hyprland/workspaces", "custom/icon", "hyprland/window"],
- "modules-right": [
- "tray",
- "battery",
- "pulseaudio",
- "cpu",
- "memory",
- "temperature",
- "clock",
- ],
+ "layer": "top",
+ "position": "bottom",
+ "mod": "dock",
+ "exclusive": true,
+ "passtrough": false,
+ "gtk-layer-shell": true,
+ "height": 15,
+ /* "output": "DP-3", */
- /*
- MODULES
- */
- "custom/icon": {
- "exec": "~/.config/waybar/state",
- "interval": 5,
- },
- "tray": {
- "spacing": 10,
- },
+ "modules-left": [
+ "sway/workspaces",
+ ],
- "hyprland/workspaces": {
- "on-scroll-up": "hyprctl dispatch workspace e+1",
- "on-scroll-down": "hyprctl dispatch workspace e-1",
- "all-outputs": true,
- "on-click": "activate",
- },
- "clock": {
- // "timezone": "America/New_York",
- "tooltip-format": "[{:%Y %B}]\n{calendar}",
- "format": "[{:%H:%M}]",
- "format-alt": "[{:%Y-%m-%d}]",
- },
- "cpu": {
- "format": "[CPU:{usage}%]",
- "tooltip": false,
- },
- "memory": {
- "format": "[MEM:{percentage}%]",
- },
- "temperature": {
- // "thermal-zone": 2,
- // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
- "critical-threshold": 80,
- "format-critical": "[!!{temperatureC}°C!!]",
- "format": "[{temperatureC}°C]",
- },
- "battery": {
- "format": "[BAT::{capacity}%]",
- },
- "pulseaudio": {
- // "scroll-step": 1, // %, can be a float
- "format": "[VOL:{volume}%]",
- "format-muted": "[VOL: M]",
- "on-click": "pavucontrol",
- },
+ "modules-center": [
+ "sway/window"
+ ],
+
+ "modules-right": [
+ "pulseaudio",
+ "clock",
+ "battery",
+ "tray",
+ ],
+
+ "sway/window": {
+ "format": "{}"
+ },
+
+ "sway/workspaces": {
+ "all-outputs": true,
+ "on-click": "activate",
+ "format": "{icon}",
+ "format-icons": {
+ "1": "1",
+ "2": "2",
+ "3": "3",
+ "4": "4",
+ "5": "5",
+ "6": "6",
+ "7": "7",
+ "8": "8",
+ "9": "9",
+ "10": "10",
+ "11": "11",
+ "12": "12",
+ "13": "13"
+ }
+ },
+
+ "tray": {
+ "icon-size": 20,
+ "tooltip": false,
+ "spacing": 10
+ },
+
+ "clock": {
+ "format": "{:%a %b %d, %H:%M} //",
+ "tooltip-format": "{:%Y %B}\n\n{calendar}"
+ },
+
+ "pulseaudio": {
+ "format": " {volume}% //",
+ "tooltip": false,
+ "format-muted": " N/A //",
+ "on-click": "pavucontrol &",
+ "scroll-step": 5
+ },
+
+ "network": {
+ "format-wifi": " {essid} {signalStrength}%",
+ "format-ethernet": " {signalStrength}%",
+ "format-disconnected": " N/A"
+ },
+
+ "battery": {
+ "states": {
+ "warning": 20,
+ "critical": 15
+ },
+ "format": " {capacity}% //",
+ "format-charging": " {capacity}% //",
+ "format-plugged": " {capacity}% //"
+ }
}
+
diff --git a/laptop/configs/waybar/.config/waybar/config-chinese b/laptop/configs/waybar/.config/waybar/config-chinese
new file mode 100644
index 0000000..9b7c3df
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/config-chinese
@@ -0,0 +1,87 @@
+{
+ "layer": "top",
+ "position": "top",
+ "mod": "dock",
+ "exclusive": true,
+ "passtrough": false,
+ "gtk-layer-shell": true,
+ "height": 0,
+ "output": "HDMI-A-1",
+
+ "modules-left": [
+ "hyprland/workspaces",
+ ],
+
+ "modules-center": [
+ "hyprland/window"
+ ],
+
+ "modules-right": [
+ "pulseaudio",
+ "clock",
+ "tray",
+ ],
+
+ "hyprland/window": {
+ "format": "{}"
+ },
+
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e+1",
+ "on-scroll-down": "hyprctl dispatch workspace e-1",
+ "all-outputs": true,
+ "on-click": "activate",
+ "format": "{icon}",
+ "format-icons": {
+ "1": "一",
+ "2": "二",
+ "3": "三",
+ "4": "四",
+ "5": "五",
+ "6": "六",
+ "7": "七",
+ "8": "八",
+ "9": "九",
+ "10": "十",
+ "11": "十一",
+ "12": "十二",
+ "13": "十三"
+ }
+ },
+
+ "tray": {
+ "icon-size": 20,
+ "tooltip": false,
+ "spacing": 10
+ },
+
+ "clock": {
+ "format": "{:%a %b %d, %H:%M}",
+ "tooltip-format": "{:%Y %B}\n\n{calendar}"
+ },
+
+ "pulseaudio": {
+ "format": " {volume}%",
+ "tooltip": false,
+ "format-muted": " N/A",
+ "on-click": "pavucontrol &",
+ "scroll-step": 5
+ },
+
+ "network": {
+ "format-wifi": " {essid} {signalStrength}%",
+ "format-ethernet": " {signalStrength}%",
+ "format-disconnected": " N/A"
+ },
+
+ "battery": {
+ "states": {
+ "warning": 20,
+ "critical": 15
+ },
+ "format": " {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%"
+ }
+}
+
diff --git a/laptop/configs/waybar/.config/waybar/config-white.jsonc b/laptop/configs/waybar/.config/waybar/config-white.jsonc
deleted file mode 100644
index 9c3a1eb..0000000
--- a/laptop/configs/waybar/.config/waybar/config-white.jsonc
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "layer": "top",
- "position": "top",
- "height": 5,
- "margin-top": 0,
- // "exclusive": false,
- // "mode": "overlay",
- "modules-center": ["hyprland/workspaces"],
- "modules-right": ["clock", "network", "battery"],
-
- "hyprland/workspaces": {
- "disable-scroll": true,
- "on-click": "activate",
- "format": "{icon}",
- "format-icons": {
- "default": " ",
- "1": " ",
- "2": " ",
- "3": " ",
- "4": " ",
- "5": " ",
- "active": " ",
- "urgent": " ",
- },
- },
-
- "clock": {
- "format": "{:%H:%M}",
- "tooltip": true,
- "tooltip-format": "{:%B %d, %Y}",
- },
-
- "network": {
- "format": "{icon}",
- "format-icons": ["", "", "", "", ""],
- "format-disconnected": "",
- "tooltip-format-wifi": "{essid} ({signalStrength}%) ",
- "tooltip-format-ethernet": "{ifname} ",
- "tooltip-format-disconnected": "Disconnected",
- },
-
- "battery": {
- "format": "{icon}",
- "full-at": 95,
- "format-icons": ["", "", "", "", "", "", "", "", "", ""],
- "tooltip": true,
- "tooltip-format": "{capacity}%",
- "tooltip-format-discharging": "%{capacity}\ndischarging",
- "tooltip-format-charging": "%{capacity}\ncharging",
- "states": {
- "full": 100,
- "warning": 50,
- "critical": 15,
- },
- },
-}
diff --git a/laptop/configs/waybar/.config/waybar/dwm-forest.css b/laptop/configs/waybar/.config/waybar/dwm-forest.css
new file mode 100644
index 0000000..f8dc6a2
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/dwm-forest.css
@@ -0,0 +1,73 @@
+@define-color accent #3c4841;
+@define-color text #d3c6aa;
+@define-color invText #d3c6aa;
+/* text when background is accent */
+@define-color bg #1e2326;
+
+/* @import "./wal.css";
+@define-color accent @color5;
+@define-color bg @background;
+@define-color text @foreground; */
+
+* {
+ font-family: CartographCF Nerd Font;
+ font-size: 15px;
+ border-radius: 0px;
+ /* :[ */
+ min-height: 0px;
+}
+
+window#waybar {
+ background-color: @accent;
+ color: @text;
+ opacity: 1;
+}
+
+#workspaces {
+ background-color: transparent;
+ padding: 5px 3px;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ color: @text;
+}
+
+#workspaces button.active {
+ background-color: @accent;
+ color: @invText;
+ /* color: @background; */
+}
+
+#pulseaudio,
+#cpu,
+#memory,
+#temperature,
+#battery,
+#clock,
+#tray,
+#custom-icon {
+ background-color: transparent;
+ color: @text;
+ margin: 1px;
+}
+
+#tray {
+ padding: 4px;
+}
+
+.modules-left {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
+
+#window {
+ color: @invText;
+ background-color: @accent;
+ padding-left: 4px;
+}
+
+.modules-right {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
diff --git a/laptop/configs/waybar/.config/waybar/dwm.css b/laptop/configs/waybar/.config/waybar/dwm.css
new file mode 100644
index 0000000..53391c7
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/dwm.css
@@ -0,0 +1,81 @@
+@define-color accent #383838;
+@define-color text #f8f8f8;
+@define-color invText #f8f8f8;
+/* text when background is accent */
+@define-color bg #181818;
+
+/* @import "./wal.css";
+@define-color accent @color5;
+@define-color bg @background;
+@define-color text @foreground; */
+
+@import "./base16/base16-default-dark.css";
+
+@define-color accent @base01;
+@define-color text @base07;
+@define-color invText @base07;
+/* text when background is accent */
+@define-color bg @base00;
+
+* {
+ font-family: CartographCF Nerd Font;
+ font-size: 15px;
+ border-radius: 0px;
+ /* :[ */
+ min-height: 0px;
+}
+
+window#waybar {
+ background-color: @accent;
+ color: @text;
+ opacity: 1;
+}
+
+#workspaces {
+ background-color: transparent;
+ padding: 5px 3px;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ color: @text;
+}
+
+#workspaces button.active {
+ background-color: @accent;
+ color: @invText;
+ /* color: @background; */
+}
+
+#pulseaudio,
+#cpu,
+#memory,
+#temperature,
+#battery,
+#clock,
+#tray,
+#custom-icon {
+ background-color: transparent;
+ color: @text;
+ margin: 1px;
+}
+
+#tray {
+ padding: 4px;
+}
+
+.modules-left {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
+
+#window {
+ color: @invText;
+ background-color: @accent;
+ padding-left: 4px;
+}
+
+.modules-right {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
diff --git a/laptop/configs/waybar/.config/waybar/dwm.jsonc b/laptop/configs/waybar/.config/waybar/dwm.jsonc
new file mode 100644
index 0000000..1aa54ef
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/dwm.jsonc
@@ -0,0 +1,61 @@
+{
+ "spacing": 4,
+ // try to keep it 4px across the config
+ "height": 25,
+ "modules-left": ["hyprland/workspaces", "custom/icon", "hyprland/window"],
+ "modules-right": [
+ "tray",
+ "pulseaudio",
+ "cpu",
+ "memory",
+ "temperature",
+ "clock",
+ ],
+
+ /*
+ MODULES
+ */
+ "custom/icon": {
+ "exec": "~/.config/waybar/state",
+ "interval": 5,
+ },
+ "tray": {
+ "spacing": 10,
+ },
+
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e+1",
+ "on-scroll-down": "hyprctl dispatch workspace e-1",
+ "all-outputs": true,
+ "on-click": "activate",
+ },
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "[{:%Y %B}]\n{calendar}",
+ "format": "[{:%H:%M}]",
+ "format-alt": "[{:%Y-%m-%d}]",
+ },
+ "cpu": {
+ "format": "[CPU:{usage}%]",
+ "tooltip": false,
+ },
+ "memory": {
+ "format": "[MEM:{percentage}%]",
+ },
+ "temperature": {
+ // "thermal-zone": 2,
+ // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "critical-threshold": 80,
+ "format-critical": "[!!{temperatureC}°C!!]",
+ "format": "[{temperatureC}°C]",
+ },
+ "battery": {
+ "format": "[BAT::{capacity}%]",
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "[VOL:{volume}%]",
+ "format-muted": "[VOL: M]",
+ "on-click": "pavucontrol",
+ },
+}
diff --git a/laptop/configs/waybar/.config/waybar/style-melange.css b/laptop/configs/waybar/.config/waybar/style-melange.css
new file mode 100644
index 0000000..80122c7
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/style-melange.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #f1f1f1;
+ color: #54433a;
+}
+
+#custom-logo {
+ font-size: 18px;
+ margin: 0;
+ margin-left: 7px;
+ margin-right: 12px;
+ padding: 0;
+ font-family: NotoSans Nerd Font Mono;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ margin-right: 10px;
+ color: #54433a;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #f1f1f1;
+ color: #54433a;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/laptop/configs/waybar/.config/waybar/style-solarized-light.css b/laptop/configs/waybar/.config/waybar/style-solarized-light.css
new file mode 100644
index 0000000..66c12cc
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/style-solarized-light.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #fff;
+ color: #292828;
+}
+
+#custom-logo {
+ font-size: 18px;
+ margin: 0;
+ margin-left: 7px;
+ margin-right: 12px;
+ padding: 0;
+ font-family: NotoSans Nerd Font Mono;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ margin-right: 10px;
+ color: #292828;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #fff;
+ color: #292828;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/laptop/configs/waybar/.config/waybar/style-solarized.css b/laptop/configs/waybar/.config/waybar/style-solarized.css
new file mode 100644
index 0000000..abf8474
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/style-solarized.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #002b36;
+ color: #839496;
+}
+
+#custom-logo {
+ font-size: 18px;
+ margin: 0;
+ margin-left: 7px;
+ margin-right: 12px;
+ padding: 0;
+ font-family: NotoSans Nerd Font Mono;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ margin-right: 10px;
+ color: #839496;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #002b36;
+ color: #839496;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/laptop/configs/waybar/.config/waybar/style-white.css b/laptop/configs/waybar/.config/waybar/style-white.css
deleted file mode 100644
index 3d07e67..0000000
--- a/laptop/configs/waybar/.config/waybar/style-white.css
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Bar */
-
-* {
- font-family: "CartographCF Nerd Font";
- font-size: 14px;
-}
-
-window#waybar {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-/* Tooltips */
-
-tooltip {
- /* background: #f7f7f9; */
- background: rgba(242, 244, 247, 0.9);
- padding: 0px;
- border: 1px solid rgba(168, 176, 185, 0.1);
- border-radius: 20px;
- box-shadow: 0 1px 3px rgba(140, 149, 159, 0.1);
- margin: 0px;
-}
-
-tooltip label {
- /* background: #f7f7f9; */
- text-shadow: none;
- color: #94949f;
- /* color: #53586c; */
- /* color: #f9f9f9; */
- font-weight: bold;
- padding: 0px 5px;
- min-height: 0;
-}
-
-/* Buttons */
-
-@keyframes button_activate {
- from {
- opacity: 0.1;
- }
-
- to {
- opacity: 1;
- }
-}
-
-#workspaces {
- background: rgba(219, 219, 219, 0.25);
- border-radius: 25px;
- margin-bottom: 1px;
- padding: 4px 2px;
-}
-
-#workspaces button {
- color: #727482;
- min-height: 3px;
- min-width: 15px;
- padding: 0px;
- padding-left: 3px;
- margin: 0px 3px;
- border-radius: 25px;
- background-color: #f9f9f9;
- opacity: 0.35;
- transition: all 0.3s ease-in-out;
-}
-
-#workspaces button.active {
- color: rgba(0, 0, 0, 0.5);
- background-color: #f9f9f9;
- border-radius: 16px;
- min-width: 35px;
- transition: all 0.3s ease-in-out;
- opacity: 1;
-}
-
-#workspaces button.urgent {
- opacity: 1;
-}
-
-#workspaces button.persistent {
- color: rgba(170, 176, 197, 0.3);
-}
-
-#workspaces button:hover {
- opacity: 1;
-}
-
-/* Indicators */
-
-#battery,
-#clock,
-#network {
- /* color: #f7f7f9; */
- font-weight: bold;
- /* color: rgba(128, 142, 194, 0.8); */
- color: #53586c;
- background: transparent;
-}
-
-#clock {
- padding: 0px 5px 0 12px;
- border-radius: 0% 0% 0% 15%;
-}
-
-#network {
- padding: 0px 5px 0px 0px;
-}
-
-#battery {
- padding: 0px 12px 0 5px;
- border-radius: 0%;
- margin-right: 0px;
-}
-
-#battery.critical {
- color: #e0589a;
-}
diff --git a/laptop/configs/waybar/.config/waybar/style.css b/laptop/configs/waybar/.config/waybar/style.css
index 9ff83ee..e4e082d 100644
--- a/laptop/configs/waybar/.config/waybar/style.css
+++ b/laptop/configs/waybar/.config/waybar/style.css
@@ -1,76 +1,44 @@
-@define-color accent #383838;
-@define-color text #f8f8f8;
-@define-color invText #f8f8f8;
-/* text when background is accent */
-@define-color bg #181818;
-
-/* @import "./wal.css";
-@define-color accent @color5;
-@define-color bg @background;
-@define-color text @foreground; */
-
-@import "./base16/base16-default-dark.css";
-
-@define-color accent @base01;
-@define-color text @base07;
-@define-color invText @base07;
-/* text when background is accent */
-@define-color bg @base00;
-
* {
- font-family: CartographCF Nerd Font;
- font-size: 13px;
- border-radius: 0px;
- /* :[ */
- min-height: 0px;
+ border: none;
+ border-radius: 0;
+ /* padding: 0; */
+ /* margin: 0; */
+ font-size: 15px;
+ font-family: FiraCode Nerd Font;
+ font-style: italic;
}
window#waybar {
- background-color: @accent;
- color: @text;
- opacity: 1;
-}
-
-#workspaces {
- background-color: transparent;
+ background: #002b36;
+ color: #ffffff;
+ margin: 10px;
}
#workspaces button {
- padding: 0 5px;
- color: @text;
+ margin-left: 2px;
+ padding: 2px 8px;
+ color: #839496;
}
-#workspaces button.active {
- background-color: @accent;
- color: @invText;
- /* color: @background; */
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #004d61;
+ color: #839496;
}
-#pulseaudio,
-#cpu,
-#memory,
-#temperature,
-#battery,
-#clock,
-#tray,
-#custom-icon {
- background-color: transparent;
- color: @text;
- margin: 0px;
+#workspaces button.focused {
+ background-color: #004d61;
}
-.modules-left {
- background-color: @bg;
- padding: 0px 0px 0px 0px;
+#language {
+ margin-right: 7px;
}
-#window {
- color: @invText;
- background-color: @accent;
- padding-left: 4px;
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
}
-.modules-right {
- background-color: @bg;
- padding: 0px 0px 0px 0px;
+#clock {
+ margin: 0px 6px;
}
diff --git a/laptop/configs/waybar/.config/waybar/style.css.chinese b/laptop/configs/waybar/.config/waybar/style.css.chinese
new file mode 100644
index 0000000..a18a3d3
--- /dev/null
+++ b/laptop/configs/waybar/.config/waybar/style.css.chinese
@@ -0,0 +1,128 @@
+* {
+ border: none;
+ border-radius: 0;
+ font-family: "Cartograph CF Nerd Font";
+ font-weight: bold;
+ font-size: 16px;
+ min-height: 0;
+ margin: 1px;
+}
+
+window#waybar {
+ background: rgba(75, 75, 75, 0);
+ color: #f1f1f1;
+}
+
+tooltip {
+ background: #595959;
+ border-radius: 0px;
+}
+
+#workspaces button {
+ padding: 5px;
+ color: #f1f1f1;
+}
+
+#workspaces button.active {
+ background-color: #e16b53;
+ border-radius: 10px;
+}
+
+#workspaces button.focused {
+ color: #f1f1f1;
+ background: #595959;
+ border-radius: 10px;
+}
+
+#workspaces button.urgent {
+ color: #f1f1f1;
+ background: #595959;
+ border-radius: 10px;
+}
+
+#workspaces button:hover {
+ background: #f1f1f1;
+ color: #595959;
+ border-radius: 10px;
+}
+
+#custom-language,
+#custom-updates,
+#custom-caffeine,
+#custom-weather,
+#window,
+#clock,
+#battery,
+#pulseaudio,
+#network,
+#workspaces,
+#tray,
+#language,
+#backlight {
+ background:
+ /*#F6821E*/
+ #444444;
+ padding: 0px 5px;
+ margin: 0px;
+ font-weight: 100;
+}
+
+#tray {
+ margin-right: 0px;
+ border-radius: 0px 10px 10px 0px;
+}
+
+#workspaces {
+ color: #f1f1f1;
+ margin-left: 0px;
+ padding-right: 0px;
+ padding-left: 5px;
+ border-radius: 10px;
+}
+
+#custom-caffeine {
+ color: #f1f1f1;
+ border-right: 0px;
+ margin-left: 10px;
+}
+
+#custom-language {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+}
+
+#custom-updates {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+}
+
+#window {
+ color: #f1f1f1;
+ background-color: #595959;
+ font-weight: 100;
+ border-radius: 10px;
+ margin-left: 0px;
+ margin-right: 60px;
+}
+
+#clock {
+ color: #f1f1f1;
+ margin-left: 0px;
+ border-right: 0px;
+ padding: 0px 10px;
+}
+
+#pulseaudio {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+ padding-left: 10px;
+ border-radius: 10px 0px 0px 10px;
+}
+
+#pulseaudio.microphone {
+ color: #f1f1f1;
+ margin-right: 5px;
+}