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; +}