diff options
| -rw-r--r-- | dotfiles/.config/calcurse/conf | 33 | ||||
| -rwxr-xr-x | dotfiles/.config/calcurse/hooks/post-save | 33 | ||||
| -rwxr-xr-x | dotfiles/.config/calcurse/hooks/pre-load | 26 | ||||
| -rw-r--r-- | dotfiles/.config/calcurse/keys | 56 | ||||
| -rw-r--r-- | dotfiles/.config/fontconfig/fonts.conf | 4 | ||||
| -rw-r--r-- | dotfiles/.config/lf/lfrc | 4 | ||||
| -rw-r--r-- | dotfiles/.config/niri/config.kdl | 78 | ||||
| -rw-r--r-- | dotfiles/.config/qutebrowser/config.py | 4 | ||||
| -rw-r--r-- | dotfiles/.config/swaylock/config | 6 | ||||
| -rw-r--r-- | dotfiles/.config/waybar/config | 221 | ||||
| -rw-r--r-- | dotfiles/.config/waybar/modules.json | 181 | ||||
| -rw-r--r-- | dotfiles/.config/waybar/style.css | 92 | ||||
| -rwxr-xr-x | dotfiles/.local/bin/barweather | 2 | ||||
| -rwxr-xr-x | dotfiles/.local/bin/menumako | 2 | ||||
| -rwxr-xr-x | dotfiles/.local/bin/sshwiz | 18 | ||||
| -rw-r--r-- | dotfiles/.local/share/oculante/config.json | 154 | ||||
| -rw-r--r-- | dotfiles/.profile | 2 | 
17 files changed, 624 insertions, 292 deletions
diff --git a/dotfiles/.config/calcurse/conf b/dotfiles/.config/calcurse/conf new file mode 100644 index 0000000..d1b5f1d --- /dev/null +++ b/dotfiles/.config/calcurse/conf @@ -0,0 +1,33 @@ +appearance.calendarview=monthly +appearance.compactpanels=no +appearance.defaultpanel=todo +appearance.layout=1 +appearance.headerline=yes +appearance.eventseparator=yes +appearance.dayseparator=yes +appearance.emptyline=yes +appearance.emptyday=-- +appearance.notifybar=yes +appearance.sidebarwidth=38 +appearance.theme=cyan on default +appearance.todoview=hide-completed +appearance.headingpos=right-justified +daemon.enable=no +daemon.log=no +format.inputdate=1 +format.notifydate=%a %F +format.notifytime=%T +format.appointmenttime=%H:%M +format.outputdate=%D +format.dayheading=%B %e, %Y +general.autogc=no +general.autosave=yes +general.confirmdelete=yes +general.confirmquit=yes +general.firstdayofweek=monday +general.multipledays=yes +general.periodicsave=0 +general.systemevents=yes +notification.command=printf '\a' +notification.notifyall=flagged-only +notification.warning=300 diff --git a/dotfiles/.config/calcurse/hooks/post-save b/dotfiles/.config/calcurse/hooks/post-save new file mode 100755 index 0000000..ead4a47 --- /dev/null +++ b/dotfiles/.config/calcurse/hooks/post-save @@ -0,0 +1,33 @@ +#!/bin/sh +# +# This is an example hook. It does two things whenever you save the data files: +# +# Synchronize with a CalDAV server if calcurse-caldav is configured. +# +# In order to install this hook, copy this file to +# $XDG_CONFIG_HOME/calcurse/hooks/ (~/.config/calcurse/hooks/) or +# ~/.calcurse/hooks/ if using ~/.calcurse. + +data_dir="$HOME/.calcurse" +config_dir="$HOME/.calcurse" + +if [ ! -d "$data_dir" ]; then +	data_dir="${XDG_DATA_HOME:-$HOME/.local/share}/calcurse" +	config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/calcurse" +fi + +cd "$data_dir" || exit + +# Do not do anything when synchronizing with a CalDAV server. +[ -f caldav/lock ] && exit + +# Run the CalDAV synchronization script. +if [ -d caldav ] && command -v calcurse-caldav >/dev/null; then +	( +		date="$(date +'%b %d %H:%M:%S')" +		echo "$date Running calcurse-caldav from the post-save hook..." +		calcurse-caldav +		echo +		rm caldav/lock +	) >>caldav/log 2>&1 +fi diff --git a/dotfiles/.config/calcurse/hooks/pre-load b/dotfiles/.config/calcurse/hooks/pre-load new file mode 100755 index 0000000..d2f367f --- /dev/null +++ b/dotfiles/.config/calcurse/hooks/pre-load @@ -0,0 +1,26 @@ +#!/bin/sh +# +# This is an example hook. It synchronizes calcurse with a CalDAV server before +# loading the data files. +# +# In order to install this hook, copy this file to +# $XDG_CONFIG_HOME/calcurse/hooks/ (~/.config/calcurse/hooks/) or +# ~/.calcurse/hooks/ if using ~/.calcurse. + +[ -d "$HOME/.calcurse" ] && data_dir="$HOME/.calcurse" || data_dir="${XDG_DATA_HOME:-$HOME/.local/share}/calcurse" + +cd "$data_dir" || exit + +# Do not do anything when synchronizing with a CalDAV server. +[ -f caldav/lock ] && exit + +# Run the CalDAV synchronization script. +if [ -d caldav ] && command -v calcurse-caldav >/dev/null; then +	( +		date="$(date +'%b %d %H:%M:%S')" +		echo "$date Running calcurse-caldav from the pre-load hook..." +		calcurse-caldav +		echo +		rm caldav/lock +	) >>caldav/log 2>&1 +fi diff --git a/dotfiles/.config/calcurse/keys b/dotfiles/.config/calcurse/keys new file mode 100644 index 0000000..3304bbb --- /dev/null +++ b/dotfiles/.config/calcurse/keys @@ -0,0 +1,56 @@ +# +# Calcurse keys configuration file +# +# In this file the keybindings used by Calcurse are defined. +# It is generated automatically by Calcurse and is maintained +# via the key configuration menu of the interactive user +# interface. It should not be edited directly. + +generic-cancel  ESC  +generic-select  SPC  +generic-credits  @  +generic-help  ?  +generic-quit  q Q  +generic-save  s S ^S  +generic-reload  R  +generic-copy  c  +generic-paste  p ^V  +generic-change-view  TAB  +generic-prev-view  KEY_BTAB  +generic-import  i I  +generic-export  x X  +generic-goto  g G  +generic-other-cmd  o O  +generic-config-menu  C  +generic-redraw  ^R  +generic-add-appt  ^A  +generic-add-todo  ^T  +generic-prev-day  T ^H  +generic-next-day  t ^L  +generic-prev-week  W ^K  +generic-next-week  w  +generic-prev-month  M  +generic-next-month  m  +generic-prev-year  Y  +generic-next-year  y  +generic-scroll-down  ^N  +generic-scroll-up  ^P  +generic-goto-today  ^G  +generic-command  :  +move-right  l L RGT  +move-left  h H LFT  +move-down  j J DWN  +move-up  k K UP  +start-of-week  0  +end-of-week  $  +add-item  a A  +del-item  d D  +edit-item  e E  +view-item  v V RET  +pipe-item  |  +flag-item  !  +repeat  r  +edit-note  n N  +view-note  >  +raise-priority  +  +lower-priority  -  diff --git a/dotfiles/.config/fontconfig/fonts.conf b/dotfiles/.config/fontconfig/fonts.conf index 144d7e5..d12f5c7 100644 --- a/dotfiles/.config/fontconfig/fonts.conf +++ b/dotfiles/.config/fontconfig/fonts.conf @@ -7,6 +7,7 @@  			<family>IBM Plex Serif</family>  			<family>JetBrainsMono NF</family>  			<family>Noto Color Emoji</family> +			<family>Sarasa UI J</family>  		</prefer>  	</alias>  	<alias> @@ -15,6 +16,7 @@  			<family>IBM Plex Sans</family>  			<family>JetBrainsMono NF</family>  			<family>Noto Color Emoji</family> +			<family>Sarasa UI J</family>  		</prefer>  	</alias>  	<alias> @@ -23,6 +25,7 @@  			<family>IBM Plex Sans</family>  			<family>JetBrainsMono NF</family>  			<family>Noto Color Emoji</family> +			<family>Sarasa UI J</family>  		</prefer>  	</alias>  	<alias> @@ -30,6 +33,7 @@  		<prefer>  			<family>JetBrainsMono NF</family>  			<family>Noto Color Emoji</family> +			<family>Sarasa Mono J</family>  		</prefer>  	</alias>  </fontconfig> diff --git a/dotfiles/.config/lf/lfrc b/dotfiles/.config/lf/lfrc index 4069f05..72d39c7 100644 --- a/dotfiles/.config/lf/lfrc +++ b/dotfiles/.config/lf/lfrc @@ -149,7 +149,7 @@ map i push A<a-b><a-b><a-f> # rename before extention  map a push A<a-b> # rename after extention  map <c-n> push :mkdir<space>  map <c-t> push :$touch<space> -map <c-r> reload +map r reload  map <enter> shell  map D delete  map <enter> shell @@ -162,7 +162,7 @@ map Y :yank-path  map L $LESSOPEN='| ~/.local/bin/scope %s' less -r $f # open file preview in pager  map P hard_link  map <a-p> soft_link -map r archive +map R archive  # Mouse bindings  map <m-3> :dragon diff --git a/dotfiles/.config/niri/config.kdl b/dotfiles/.config/niri/config.kdl index f3eb4db..5a007f5 100644 --- a/dotfiles/.config/niri/config.kdl +++ b/dotfiles/.config/niri/config.kdl @@ -76,7 +76,7 @@ output "eDP-1" {      // Uncomment this line to disable this output.      // off -    background-color "#000000" +    // background-color "#000000"      // Resolution and, optionally, refresh rate of the output.      // The format is "<width>x<height>" or "<width>x<height>@<refresh rate>". @@ -106,11 +106,16 @@ output "eDP-1" {  }  output "DP-1" { -    background-color "#000000" +    // background-color "#000000"      position x=1536 y=0      //mode "2560x1440@165.000"  } +overview { +	zoom 0.4 +    backdrop-color "#00807F" +} +  // Settings that influence how windows are positioned and sized.  // Find more information on the wiki:  // https://github.com/YaLTeR/niri/wiki/Configuration:-Layout @@ -118,6 +123,8 @@ layout {      // Set gaps around windows in logical pixels.      gaps 5 +    background-color "#00000000" +      // When to center a column when changing focus, options are:      // - "never", default behavior, focusing an off-screen column will keep at the left      //   or right edge of the screen. @@ -259,10 +266,24 @@ layout {          active-color "#99d0b5"          // inactive-color "gray"          active-gradient from="#1f5c9a" to="#99d0b5" angle=180 -        inactive-gradient from="#252832" to="#676775" angle=180 +        inactive-gradient from="#000000" to="#252832" angle=180      }  } +gestures { +	dnd-edge-view-scroll { +		trigger-width 200 +		delay-ms 200 +		max-speed 4000 +	} + +	dnd-edge-workspace-switch { +		trigger-height 100 +		delay-ms 200 +		max-speed 4000 +	} +} +  // Add lines like this to spawn processes at startup.  // Note that running niri as a session supports xdg-desktop-autostart,  // which may be more convenient to use. @@ -324,6 +345,8 @@ window-rule {  window-rule {      match app-id="GLava" +    match app-id="com.libretro.RetroArch" +      border { off; }      shadow { off; }  } @@ -331,14 +354,21 @@ window-rule {  window-rule {      match app-id="Alacritty"      match app-id="Mattermost" +    match app-id="org.telegram.desktop" + +    default-column-width { fixed 770; } +} + +window-rule { +	match app-id="org.pwmt.zathura" -    default-column-width { proportion 0.31; } +    default-column-width { fixed 900; }  }  window-rule {      match app-id="org.qutebrowser.qutebrowser" -    default-column-width { proportion 0.69; } +    default-column-width { fixed 1150; }  }  // Example: block out two password managers from screen capture. @@ -403,7 +433,10 @@ binds {      // Suggested binds for running programs: terminal, app launcher, screen locker.      Mod+Return { spawn "alacritty"; } -    Mod+D { spawn "rofi" "-show" "drun" "-sidebar-mode" "-modi" "drun,run,filebrowser,ssh,combi"; } +    Mod+D { +		spawn "rofi" "-show" "drun" "-sidebar-mode" "-modi" "window,drun,run,ssh,filebrowser"; +	} +    Mod+S { toggle-overview; }      Mod+X { spawn "lock-color"; }      Mod+Shift+X { spawn "lock-color" "screenon"; } @@ -516,22 +549,22 @@ binds {      // To avoid scrolling through workspaces really fast, you can use      // the cooldown-ms property. The bind will be rate-limited to this value.      // You can set a cooldown on any bind, but it's most useful for the wheel. -    Mod+WheelScrollDown      cooldown-ms=200 { focus-workspace-down; } -    Mod+WheelScrollUp        cooldown-ms=200 { focus-workspace-up; } -    Mod+Ctrl+WheelScrollDown cooldown-ms=200 { move-column-to-workspace-down; } -    Mod+Ctrl+WheelScrollUp   cooldown-ms=200 { move-column-to-workspace-up; } +    Mod+WheelScrollDown      { focus-workspace-down; } +    Mod+WheelScrollUp        { focus-workspace-up; } +    Mod+Ctrl+WheelScrollDown { move-column-to-workspace-down; } +    Mod+Ctrl+WheelScrollUp   { move-column-to-workspace-up; } -    Mod+WheelScrollRight      cooldown-ms=200 { focus-column-right; } -    Mod+WheelScrollLeft       cooldown-ms=200 { focus-column-left; } -    Mod+Ctrl+WheelScrollRight cooldown-ms=200 { move-column-right; } -    Mod+Ctrl+WheelScrollLeft  cooldown-ms=200 { move-column-left; } +    Mod+WheelScrollRight      { focus-column-right; } +    Mod+WheelScrollLeft       { focus-column-left; } +    Mod+Ctrl+WheelScrollRight { move-column-right; } +    Mod+Ctrl+WheelScrollLeft  { move-column-left; }      // Usually scrolling up and down with Shift in applications results in      // horizontal scrolling; these binds replicate that. -    Mod+Shift+WheelScrollDown      cooldown-ms=200 { focus-column-right; } -    Mod+Shift+WheelScrollUp        cooldown-ms=200 { focus-column-left; } -    Mod+Ctrl+Shift+WheelScrollDown cooldown-ms=200 { move-column-right; } -    Mod+Ctrl+Shift+WheelScrollUp   cooldown-ms=200 { move-column-left; } +    Mod+Shift+WheelScrollDown      { focus-column-right; } +    Mod+Shift+WheelScrollUp        { focus-column-left; } +    Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } +    Mod+Ctrl+Shift+WheelScrollUp   { move-column-left; }      // Similarly, you can bind touchpad scroll "ticks".      // Touchpad scrolling is continuous, so for these binds it is split into @@ -610,12 +643,12 @@ binds {      // * adjust width as a percentage of screen width: "-10%" or "+10%"      // Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,      // set-column-width "100" will make the column occupy 200 physical screen pixels. -    Mod+Minus { set-column-width "-10%"; } -    Mod+Equal { set-column-width "+10%"; } +    Mod+Minus { set-column-width "-5%"; } +    Mod+Equal { set-column-width "+5%"; }      // Finer height adjustments when in column with other windows. -    Mod+Shift+Minus { set-window-height "-10%"; } -    Mod+Shift+Equal { set-window-height "+10%"; } +    Mod+Shift+Minus { set-window-height "-5%"; } +    Mod+Shift+Equal { set-window-height "+5%"; }      // Switch between floating and tiling.      Mod+Shift+Space	{ toggle-window-floating; } @@ -666,6 +699,7 @@ binds {      Mod+M		{ spawn "sh" "-c" "$TERM -e ncmpcpp"; }      Mod+A		{ spawn "sh" "-c" "$TERM -T 'neomutt' -e neomutt"; }      Mod+N		{ spawn "sh" "-c" "$TERM -T 'newsboat' -e newsboat && killall -42 waybar"; } +    Mod+B		{ spawn "sh" "-c" "$TERM -T 'calcurse' -e calcurse"; }      Mod+T		{ spawn "toggletorrent"; }      Mod+Ctrl+T	{ spawn "launch-transmission"; } diff --git a/dotfiles/.config/qutebrowser/config.py b/dotfiles/.config/qutebrowser/config.py index b2d7492..e1e1fdf 100644 --- a/dotfiles/.config/qutebrowser/config.py +++ b/dotfiles/.config/qutebrowser/config.py @@ -73,8 +73,8 @@ c.downloads.remove_finished = 3000  c.url.searchengines = { "DEFAULT": "https://search.rhscz.eu/search?q={}" } -c.url.default_page = "https://takeoff.mriya.space/" -c.url.start_pages = "https://takeoff.mriya.space/" +c.url.default_page = "https://duckduckgo.com/" +c.url.start_pages = "https://duckduckgo.com/"  ## Default fonts  c.fonts.default_size = "11pt" diff --git a/dotfiles/.config/swaylock/config b/dotfiles/.config/swaylock/config index bb4dec0..19576ae 100644 --- a/dotfiles/.config/swaylock/config +++ b/dotfiles/.config/swaylock/config @@ -3,7 +3,7 @@ font=monospace  scaling=fill  indicator-radius=120  show-failed-attempts -inside-color=#000000bb +inside-color=#00000033  inside-ver-color=#3f6e90  inside-wrong-color=#b73030  inside-clear-color=#a1a6b2cc @@ -27,6 +27,6 @@ clock  indicator  image=~/.config/wall1.png  datestr=%a, %F -effect-blur=10x5 +#effect-blur=10x5  show-keyboard-layout -layout-bg-color=#000000bb +layout-bg-color=#00000033 diff --git a/dotfiles/.config/waybar/config b/dotfiles/.config/waybar/config index 216120f..403da07 100644 --- a/dotfiles/.config/waybar/config +++ b/dotfiles/.config/waybar/config @@ -1,225 +1,28 @@  // vim: filetype=json -{ +[{      "layer": "top", -    "height": 36, +    "height": 34, +	"include": [ "~/.config/waybar/modules.json" ],      "modules-left": [ -        "sway/workspaces", +        "clock",          "niri/workspaces", -        "sway/mode", -        "custom/waybar-mpris", -        "pulseaudio" +        "mpris", +        "wireplumber"      ],      "modules-center": [ -        "clock", -        "custom/weather"      ],      "modules-right": [ -        "custom/rec-status", -        "custom/swaykbd", +        "custom/weather",          "custom/mail-status", +        "cpu",          "memory",          "backlight",          "battery#bat0",          "battery#bat1",          "custom/batwatt", +        "custom/torrent-status",          "network",          "niri/language", -        "custom/torrent-status", -        "tray" -    ], -    "sway/mode": { -        "format": "<span style=\"italic\">{}</span>" -    }, -    "custom/waybar-mpris": { -    	"return-type": "json", -    	"exec": "waybar-mpris --autofocus --text-format=\"%i [%p] %a - %t\" --tooltip-format=\"%t by %a from %A\n%p/%d\n(%P)\" --pause='<span color=\"#5b8277\"></span>' --play='' --max-title 30", -    	"on-click": "lmc toggle", -    	"on-click-right": "lmc next", -    	"max-length": 80 -    }, -    "mpd": { -        "format": " {stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon} [{elapsedTime:%M:%S}] {artist} - {title}", -        "format-disconnected": " Connection lost ", -        "format-stopped": "  {consumeIcon}{randomIcon}{repeatIcon}{singleIcon} [--:--] -- - --", -        "unknown-tag": "N/A", -        "interval": 2, -        "max-length": 60, -        "consume-icons": { -            "on": " " -        }, -        "random-icons": { -            "on": "" -        }, -        "repeat-icons": { -            "on": " " -        }, -        "single-icons": { -            "on": "[s]" -        }, -        "state-icons": { -            "paused": "<span color=\"#b2872f\"></span>", -            "playing": "<span color=\"#5b8277\"></span>" -        }, -        "tooltip-format": "MPD now playing: {artist} - {title}", -        "tooltip-format-disconnected": "MPD disconnected" -    }, -    "idle_inhibitor": { -        "format": "{icon}", -        "format-icons": { -            "activated": "", -            "deactivated": "" -        } -    }, -    "tray": { -        "icon-size": 16, -        "spacing": 10 -    }, -    "clock": { -        "format": "{:%Y年%m月%d日 %H:%M:%S}", -        "tooltip-format": "{calendar}", -        "calendar": { -        	"mode": "year", -        	"mode-mon-col": 3 -        }, -        "interval": 1 -    }, -    "cpu": { -        "format": "{usage}% ", -        "tooltip": false -    }, -    "memory": { -        "format": "<span color=\"#5b8277\"></span> {used:0.3f}G", -        "states": { -        	"warning": 90 -        }, -        "interval": 10 -    }, -    "temperature": { -        // "thermal-zone": 2, -        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", -        "critical-threshold": 80, -        // "format-critical": "{temperatureC}°C {icon}", -        "format": "{temperatureC}°C {icon}", -        "format-icons": ["", "", ""] -    }, -    "backlight": { -        // "device": "acpi_video1", -        "format": "<span color=\"#5b8277\">{icon}</span> {percent}%", -        "format-icons": ["", ""] -    }, -    "battery#bat0": { -        "bat": "BAT0", -        "format": "{icon} {capacity}%", -        "format-charging": " <span color=\"#5b8277\"></span> {capacity}%", -        "format-plugged": "<span color=\"#5b8277\"></span> {capacity}%", -        "format-icons": [ -            "<span color=\"#b73030\"></span>", -            "<span color=\"#b2872f\"></span>", -            "<span color=\"#5b8277\"></span>", -            "<span color=\"#5b8277\"></span>", -            "<span color=\"#5b8277\"></span>" -        ] -    }, -    "battery#bat1": { -        "bat": "BAT1", -        "format": "{icon} {capacity}%", -        "format-charging": " <span color=\"#5b8277\"></span> {capacity}%", -        "format-plugged": "<span color=\"#5b8277\"></span> {capacity}%", -        "format-icons": [ -            "<span color=\"#b73030\"></span>", -            "<span color=\"#b2872f\"></span>", -            "<span color=\"#5b8277\"></span>", -            "<span color=\"#5b8277\"></span>", -            "<span color=\"#5b8277\"></span>" -        ] -    }, -    "network": { -        // "interface": "wlp2*", // (Optional) To force the use of this interface -        "format-wifi": "<span color=\"#5b8277\"></span>  {essid}", -        "format-ethernet": "<span color=\"#5b8277\"></span>  {ifname}", -        "format-linked": "<span color=\"#5b8277\"></span>  {ifname}", -        "format-disconnected": "  disconnected", -        "format-alt": "{ifname}: {ipaddr}/{cidr}", -        "tooltip-format": "{ifname}: {ipaddr}/{cidr}" -    }, -    "pulseaudio": { -        "scroll-step": 2, // %, can be a float -        "format": "<span color=\"#5b8277\">{icon}</span> {volume}%", -        "format-bluetooth": "<span color=\"#5b8277\">{icon}</span> {volume}% {format_source}", -        "format-muted": "<span color=\"#b2872f\"></span>", -        "format-source": "{volume}% ", -        "format-source-muted": "", -        "format-icons": { -            "headphone": "", -            "handsfree": "", -            "headset": "", -            "phone": "", -            "portable": "", -            "car": "", -            "default": ["", "", ""] -        }, -        "on-click": "$TERMINAL -e ncpamixer" -    }, -    "custom/rec-status": { -        "format": "<span color=\"#5b8277\">{}</span>", -        "signal": 5, -        "interval": "once", -        "exec": "barrecstatus" -    }, -    "custom/torrent-status": { -        "format": "<span color=\"#5b8277\">{}</span>", -        "signal": 10, -        "interval": "once", -        "exec": "bartorrentstatus" -    }, -    "custom/mail-status": { -        "format": "<span color=\"#5b8277\">📧</span> {}", -        "signal": 9, -        "interval": "once", -        "exec": "barmailstatus", -        "tooltip": false -    }, -    "custom/pac-status": { -        "format": "<span color=\"#5b8277\"></span> {}", -        "signal": 7, -        "interval": "once", -        "exec": "barpacstatus" -    }, -    "custom/news-status": { -        "format": "<span color=\"#5b8277\"></span> {}", -        "signal": 8, -        "interval": "once", -        "exec": "barnewsstatus", -        "tooltip": false -    }, -    "custom/weather": { -        "format": "{}", -        "interval": 180, -        "exec": "barweather" -    }, -    "custom/ds4battery": { -        "format": "🎮 {}", -        "interval": 180, -        "exec": "bards4battery" -    }, -    "custom/batwatt": { -    	"return-type": "json", -        "interval": 10, -        "exec-if": "test -e /sys/class/power_supply/BAT0", -        "exec": "barbatwatt", -        "exec-on-event": true, -        "on-click": "" -    }, -    "custom/swaykbd": { -        "format": "{}", -        "exec": "swaykbd", -        "tooltip": false -    }, -    "niri/language": { -    	"on-click": "niri msg action switch-layout next", -    	"on-click-right": "niri msg action switch-layout prev", -    	"format-en": " 🇺🇸 EN ", -    	"format-es": " 🇲🇽 ES ", -    	"format-ru": " 🇷🇺 RU " -    } -} +        "tray", +    ] +}] diff --git a/dotfiles/.config/waybar/modules.json b/dotfiles/.config/waybar/modules.json new file mode 100644 index 0000000..7f0f591 --- /dev/null +++ b/dotfiles/.config/waybar/modules.json @@ -0,0 +1,181 @@ +{ +    "sway/mode": { +        "format": "<span style=\"italic\">{}</span>" +    }, +    "mpris": { +    	"format": "{status_icon} {artist} - {title}", +    	"format-stopped": "{status_icon} - ", +    	"status-icons": { +    		"stopped": "<span color=\"#d6cda3\"></span>", +    		"paused": "<span color=\"#d6cda3\"></span>", +    		"playing": "<span color=\"#5b8277\"></span>" +    	}, +    	"artist-len": 20, +    	"title-len": 30 +    }, +    "tray": { +        "icon-size": 16, +        "spacing": 10 +    }, +    "clock": { +        "locale": "ja_JP.UTF-8", +        "format": "<span font='Sarasa Mono J' weight='600'>{:L%Y年%m月%d日(%a)%H:%M:%S}</span>", +        "format-alt": "<span font='Sarasa Mono J' weight='600'>{:%H:%M:%S}</span>", +        "tooltip-format": "<span font='Sarasa Mono J'>{calendar}</span>", +        "calendar": { +            "mode": "month", +            "on-scroll": 1, +            "format": { +            	"months": "<span size='13pt' weight='600'>{}</span>", +            	"weekdays": "{}", +            	"today": "<span color=\"#b73030\"><b>{}</b></span>" +            } +        }, +        "actions": { +        	"on-scroll-up": "shift_up", +        	"on-scroll-down": "shift_down" +        }, +        "interval": 1 +    }, +    "cpu": { +        "format": "<span color=\"#d6cda3\"></span> {usage}%", +        "interval": 3 +    }, +    "memory": { +        "format": "<span color=\"#d6cda3\"></span> {used:0.3f}G", +        "states": { +        	"warning": 90 +        }, +        "interval": 10 +    }, +    "temperature": { +        // "thermal-zone": 2, +        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", +        "critical-threshold": 80, +        // "format-critical": "{temperatureC}°C {icon}", +        "format": "{temperatureC}°C {icon}", +        "format-icons": ["", "", ""] +    }, +    "backlight": { +        // "device": "acpi_video1", +        "format": "<span color=\"#d6cda3\">{icon}</span> {percent}%", +        "format-icons": ["", ""] +    }, +    "battery#bat0": { +        "bat": "BAT0", +        "format": "{icon} {capacity}%", +        "format-charging": "<span color=\"#5b8277\"></span> {capacity}%", +        "format-plugged": "<span color=\"#5b8277\"></span> {capacity}%", +        "format-icons": [ +            "<span color=\"#b73030\"></span>", +            "<span color=\"#b2872f\"></span>", +            "<span color=\"#5b8277\"></span>", +            "<span color=\"#5b8277\"></span>", +            "<span color=\"#5b8277\"></span>" +        ] +    }, +    "battery#bat1": { +        "bat": "BAT1", +        "format": "{icon} {capacity}%", +        "format-charging": "<span color=\"#5b8277\"></span> {capacity}%", +        "format-plugged": "<span color=\"#5b8277\"></span> {capacity}%", +        "format-icons": [ +            "<span color=\"#b73030\"></span>", +            "<span color=\"#b2872f\"></span>", +            "<span color=\"#5b8277\"></span>", +            "<span color=\"#5b8277\"></span>", +            "<span color=\"#5b8277\"></span>" +        ] +    }, +    "network": { +        // "interface": "wlp2*", // (Optional) To force the use of this interface +        "format-wifi": "<span color=\"#5b8277\"></span>", +        "format-ethernet": "<span color=\"#5b8277\"></span>", +        "format-linked": "<span color=\"#b2872f\"></span>", +        "format-disconnected": "<span color=\"#b2872f\"></span>", +        "format-disabled": "<span color=\"#b73030\"></span>", +        "format-alt": "<span color=\"#d6cda3\"></span> {ifname}: {bandwidthUpBits}<span color=\"#d6cda3\"></span> {bandwidthDownBits}<span color=\"#d6cda3\"></span>", +        "tooltip-format": "{ifname}: {essid} {ipaddr}/{cidr} {bandwidthUpBits}<span color=\"#d6cda3\"></span> {bandwidthDownBits}<span color=\"#d6cda3\"></span>", +        "interval": 3 +    }, +    "wireplumber": { +        "scroll-step": 2, // %, can be a float +        "format": "<span color=\"#5b8277\">{icon}</span> {volume}%", +        "format-bluetooth": "<span color=\"#5b8277\">{icon}</span> {volume}% {format_source}", +        "format-muted": "<span color=\"#b2872f\"></span>", +        "format-source": "{volume}% ", +        "format-source-muted": "", +        "format-icons": { +            "headphone": "", +            "handsfree": "", +            "headset": "", +            "phone": "", +            "portable": "", +            "car": "", +            "default": ["", "", ""] +        }, +        "on-click": "$TERMINAL -e ncpamixer" +    }, +    "custom/rec-status": { +        "format": "<span color=\"#5b8277\">{}</span>", +        "signal": 5, +        "interval": "once", +        "exec": "barrecstatus" +    }, +    "custom/torrent-status": { +        "format": "<span color=\"#d6cda3\">{}</span>", +        "signal": 10, +        "interval": "once", +        "exec": "bartorrentstatus" +    }, +    "custom/mail-status": { +        "format": "<span color=\"#d6cda3\"> </span>{}", +        "signal": 9, +        "interval": "once", +        "exec": "barmailstatus", +        "tooltip": false +    }, +    "custom/pac-status": { +        "format": " {}", +        "signal": 7, +        "interval": "once", +        "exec": "barpacstatus" +    }, +    "custom/news-status": { +        "format": " {}", +        "signal": 8, +        "interval": "once", +        "exec": "barnewsstatus", +        "tooltip": false +    }, +    "custom/weather": { +        "format": "{}", +        "interval": 180, +        "exec": "barweather" +    }, +    "custom/ds4battery": { +        "format": "🎮 {}", +        "interval": 180, +        "exec": "bards4battery" +    }, +    "custom/batwatt": { +    	"return-type": "json", +        "interval": 10, +        "exec-if": "test -e /sys/class/power_supply/BAT0", +        "exec": "barbatwatt", +        "exec-on-event": true, +        "on-click": "" +    }, +    "custom/swaykbd": { +        "format": "{}", +        "exec": "swaykbd", +        "tooltip": false +    }, +    "niri/language": { +    	"on-click": "niri msg action switch-layout next", +    	"on-click-right": "niri msg action switch-layout prev", +    	"format-en": " 🇺🇸", +    	"format-es": " 🇲🇽", +    	"format-ru": " 🇷🇺" +    } +} diff --git a/dotfiles/.config/waybar/style.css b/dotfiles/.config/waybar/style.css index 1871a66..7f8c7ba 100644 --- a/dotfiles/.config/waybar/style.css +++ b/dotfiles/.config/waybar/style.css @@ -3,65 +3,26 @@    	font-family: monospace;  }  window#waybar { -  	background: #000000; -  	/* background: linear-gradient(#000000, #151515); */ -  	color: #f2eccf; +  	background: #1e1c1a; +  	color: #fcf8e2;    	min-height: 0; -  	border-bottom: 2px solid #33333a; -} -#tray, -#language, -#custom-torrent-status, -#workspaces { -  	background: #151517; -  	margin: 3px 0 3px 0; -  	border-style: solid; -  	border-color: #33333a; +  	border: 2px solid #33333a;  }  #memory.warning {  	color: #b2872f;  } -#tray{ -  	border-width: 2px 2px 2px 0; -} -#custom-torrent-status{ -  	border-width: 2px 0 2px 0; -} -#language { -  	border-width: 2px 0 2px 2px; -} -#workspaces { -  	padding: 0; -  	margin-right: 6px; -  	border-width: 2px; -} -#workspaces button { -  	padding: 0 0.6em; -  	color: #fcf8e2; -  	border-radius: 0; -  	border: 1px solid rgba(0, 0, 0, 0); -} -#workspaces button.visible { -  	color:  #7fac96; -  	border-color: #7fac96; -} -#workspaces button.focused { -  	color:  #000000; -  	border-color: #7fac96; -  	background: linear-gradient(60deg, #5b8277, #99d0b5); -} -#workspaces button:hover { -  	border: 1px solid #5b8277; -} +#cpu,  #mpd,  #tray, -#clock, +#mpris,  #memory,  #battery,  #network, +#language,  #backlight, -#pulseaudio, +#workspaces,  #temperature, +#wireplumber,  #custom-weather,  #custom-swaykbd,  #custom-ds4battery, @@ -69,12 +30,41 @@ window#waybar {  #custom-pac-status,  #custom-mail-status,  #custom-news-status, -#custom-waybar-mpris,  #custom-batwatt,  #custom-torrent-status {  	color: #fcf8e2; -  	padding: 0 6px; +  	padding: 0 0.4em; +  	margin: 2px; +} +#clock { +  	font-weight: 500; +  	color: #d6cda3; +  	background: #0d0906; +  	border: 2px inset #1e1e23; +  	margin: 4px 2px 4px 4px; +  	padding: 0 0.4em;  } -#custom-weather { -  	color: #5b8277; +#workspaces { +  	padding: 0; +  	margin: 6px; +  	background: #4a4842; +} +#workspaces button { +  	padding: 0 0.5em; +  	color: #fcf8e2; +  	border-radius: 0; +  	border: 2px solid #1e1e23; +} +#workspaces button.visible, +#workspaces button.active { +  	color:  #7fac96; +  	border-color: #7fac96; +} +#workspaces button.focused { +  	color:  #000000; +  	border-color: #7fac96; +  	background: linear-gradient(60deg, #5b8277, #99d0b5); +} +#workspaces button:hover { +  	border-color: #5b8277;  } diff --git a/dotfiles/.local/bin/barweather b/dotfiles/.local/bin/barweather index 3fc7f42..a608b80 100755 --- a/dotfiles/.local/bin/barweather +++ b/dotfiles/.local/bin/barweather @@ -12,7 +12,7 @@ update_forecast() {    forecast=$(curl -s wttr.in/"$location"?format=1)    if [ ${#forecast} -lt 30 ]; then -    printf "%s\n" "$forecast" > "$cachefile" +    printf "%s\n" "$forecast" | sed -e 's/   / /g' > "$cachefile"    fi  } diff --git a/dotfiles/.local/bin/menumako b/dotfiles/.local/bin/menumako index 628a93a..96c564b 100755 --- a/dotfiles/.local/bin/menumako +++ b/dotfiles/.local/bin/menumako @@ -1,3 +1,3 @@  #!/bin/sh -makoctl menu rofi -dmenu -p "What to do?" +makoctl menu -- rofi -dmenu -p "What to do?" diff --git a/dotfiles/.local/bin/sshwiz b/dotfiles/.local/bin/sshwiz new file mode 100755 index 0000000..ba71b08 --- /dev/null +++ b/dotfiles/.local/bin/sshwiz @@ -0,0 +1,18 @@ +#!/bin/bash + +# SSH "wizard" script. Copies the public key and installs terminfo for first +# time use of a host. + +if [ -z "$1" ]; then +	echo "usage: sshwiz <destination>" +	exit 1 +fi + +target=$1 + +ssh-copy-id $target +echo "installing terminfo..." +infocmp $TERM > /tmp/$TERM.terminfo +rsync /tmp/$TERM.terminfo ${target}: +ssh $target "tic -x $TERM.terminfo" +echo "done" diff --git a/dotfiles/.local/share/oculante/config.json b/dotfiles/.local/share/oculante/config.json new file mode 100644 index 0000000..87bc4ca --- /dev/null +++ b/dotfiles/.local/share/oculante/config.json @@ -0,0 +1,154 @@ +{ +  "accent_color": [ +    137, +    182, +    160 +  ], +  "background_color": [ +    0, +    0, +    0 +  ], +  "vsync": true, +  "force_redraw": false, +  "shortcuts": { +    "AlwaysOnTop": [ +      "T" +    ], +    "Fullscreen": [ +      "F" +    ], +    "InfoMode": [ +      "I" +    ], +    "EditMode": [ +      "E" +    ], +    "NextImage": [ +      "N" +    ], +    "FirstImage": [ +      "Home" +    ], +    "LastImage": [ +      "End" +    ], +    "PreviousImage": [ +      "P" +    ], +    "RedChannel": [ +      "R" +    ], +    "GreenChannel": [ +      "G" +    ], +    "BlueChannel": [ +      "B" +    ], +    "AlphaChannel": [ +      "A" +    ], +    "RGBChannel": [ +      "U" +    ], +    "RGBAChannel": [ +      "C" +    ], +    "ResetView": [ +      "V" +    ], +    "ZoomOut": [ +      "Minus" +    ], +    "ZoomIn": [ +      "Equals" +    ], +    "ZoomActualSize": [ +      "Key1" +    ], +    "ZoomDouble": [ +      "Key2" +    ], +    "ZoomThree": [ +      "Key3" +    ], +    "ZoomFour": [ +      "Key4" +    ], +    "ZoomFive": [ +      "Key5" +    ], +    "CompareNext": [ +      "C", +      "LShift" +    ], +    "PanLeft": [ +      "L" +    ], +    "PanRight": [ +      "H" +    ], +    "PanUp": [ +      "J" +    ], +    "PanDown": [ +      "K" +    ], +    "DeleteFile": [ +      "Delete" +    ], +    "ClearImage": [ +      "Delete", +      "LShift" +    ], +    "LosslessRotateRight": [ +      "RBracket" +    ], +    "LosslessRotateLeft": [ +      "LBracket" +    ], +    "Copy": [ +      "C", +      "LControl" +    ], +    "Paste": [ +      "LControl", +      "V" +    ], +    "Browse": [ +      "LControl", +      "O" +    ], +    "Quit": [ +      "Q" +    ], +    "ZenMode": [ +      "Z" +    ] +  }, +  "keep_view": true, +  "max_cache": 30, +  "show_scrub_bar": true, +  "wrap_folder": true, +  "keep_edits": false, +  "title_format": "{APP} | {VERSION} | {FULLPATH}", +  "info_enabled": true, +  "edit_enabled": false, +  "show_checker_background": false, +  "show_minimap": false, +  "show_frame": false, +  "svg_scale": 1.0, +  "zen_mode": false, +  "theme": "System", +  "linear_mag_filter": false, +  "linear_min_filter": true, +  "use_mipmaps": true, +  "fit_image_on_window_resize": true, +  "zoom_multiplier": 1.0, +  "borderless": false, +  "min_window_size": [ +    100, +    100 +  ], +  "experimental_features": false +}
\ No newline at end of file diff --git a/dotfiles/.profile b/dotfiles/.profile index 12dfd13..71b6b96 100644 --- a/dotfiles/.profile +++ b/dotfiles/.profile @@ -1,7 +1,7 @@  export PATH=$PATH:$HOME/.local/bin  # Wayland-specific -#export GDK_BACKEND=wayland +export GDK_BACKEND=wayland  export EGL_PLATFORM=wayland  export CLUTTER_PLATFORM=wayland  export SDL_VIDEODRIVER=wayland  | 
