feat: eww bar better padding and styling

This commit is contained in:
hesam-init 2024-07-04 10:30:40 +03:30
parent 5529b67a7b
commit 14f024045e
15 changed files with 41 additions and 310 deletions

View file

@ -69,18 +69,17 @@
(deflisten currentWorkspace :initial "1" "./scripts/workspace/get-active")
; Playerctl
(deflisten pstatus :initial "" "playerctl status -F")
(deflisten psong :initial "" "playerctl metadata -F --format '{{ title }}'")
(deflisten partist :initial "" "playerctl metadata -F --format '{{ artist }}'")
(deflisten pcover "./scripts/pollcover.sh")
(deflisten ptime
(defpoll music_status :initial "" :interval "1s" "playerctl status")
(deflisten music_title :initial "" "playerctl metadata -F --format '{{ title }}'")
(deflisten music_artist :initial "" "playerctl metadata -F --format '{{ artist }}'")
(deflisten music_cover "./scripts/pollcover.sh")
(deflisten music_time
:initial '{
"position": 0,
"duration": 0,
"readable": "0:00"
}'
"playerctl -F metadata -f '{ \"position\": {{position/1000000}}, \"duration\": {{mpris:length/1000000}}, \"readable\": \"{{duration(position)}}/{{duration(mpris:length)}}\" }'")
;; (deflisten pside "playerctl -F metadata -f '{ \"volume\": {{volume*100}}, \"shuffle\": \"{{shuffle}}\", \"loop\": \"{{loop}}\" }'")
; Controlpanel
(defvar revealControlpanel false)

View file

@ -3,7 +3,7 @@
}
.widget {
margin: get-token(margin);
margin: get-token(margin, small);
padding: get-token(padding);
border-radius: get-token(border-radius);
background-color: $surface0;

View file

@ -7,7 +7,7 @@ $design-tokens: (
),
padding: (
small: 4px,
default: 6px,
default: 10px 8px,
large: 10px,
extra: 12px,
),
@ -18,8 +18,8 @@ $design-tokens: (
extra: 16px,
),
border-radius: (
small: 4px,
default: 6px,
small: 6px,
default: 10px,
large: 12px,
extra: 16px,
),

View file

@ -1,23 +1,15 @@
.vbar {
min-width: 2.6em;
padding: 0.4em;
background-color: $base;
}
padding: get-token(padding, small);
.bat_scale trough {
min-height: 50px;
min-width: 18px;
border-radius: 5px;
slider {
all: unset;
.control-box {
@extend .widget;
padding: 10px 6px;
}
}
.bat_scale trough highlight {
border-radius: 5px;
background-color: $accent;
}
.charging trough highlight {
background-color: $green;
}
@ -75,11 +67,3 @@
font-size: 20px;
margin-top: 30px;
}
.picon {
@extend .icon;
}
.lightning {
color: $surface0;
}

View file

@ -1,232 +0,0 @@
## where to store your database, default is your system data directory
## linux/mac: ~/.local/share/atuin/history.db
## windows: %USERPROFILE%/.local/share/atuin/history.db
# db_path = "~/.history.db"
## where to store your encryption key, default is your system data directory
## linux/mac: ~/.local/share/atuin/key
## windows: %USERPROFILE%/.local/share/atuin/key
# key_path = "~/.key"
## where to store your auth session token, default is your system data directory
## linux/mac: ~/.local/share/atuin/session
## windows: %USERPROFILE%/.local/share/atuin/session
# session_path = "~/.session"
## date format used, either "us" or "uk"
# dialect = "us"
## default timezone to use when displaying time
## either "l", "local" to use the system's current local timezone, or an offset
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
# timezone = "local"
## enable or disable automatic sync
# auto_sync = true
## enable or disable automatic update checks
# update_check = true
## address of the sync server
# sync_address = "https://api.atuin.sh"
## how often to sync history. note that this is only triggered when a command
## is ran, so sync intervals may well be longer
## set it to 0 to sync after every command
# sync_frequency = "10m"
## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim
# search_mode = "fuzzy"
## which filter mode to use
## possible values: global, host, session, directory
# filter_mode = "global"
## With workspace filtering enabled, Atuin will filter for commands executed
## in any directory within a git repository tree (default: false)
# workspaces = false
## which filter mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "filter_mode"
## leave unspecified to use same mode set in "filter_mode"
# filter_mode_shell_up_key_binding = "global"
## which search mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "search_mode"
## leave unspecified to use same mode set in "search_mode"
# search_mode_shell_up_key_binding = "fuzzy"
## which style to use
## possible values: auto, full, compact
# style = "auto"
## the maximum number of lines the interface should take up
## set it to 0 to always go full screen
# inline_height = 0
## Invert the UI - put the search bar at the top , Default to `false`
# invert = false
## enable or disable showing a preview of the selected command
## useful when the command is longer than the terminal width and is cut off
# show_preview = true
## what to do when the escape key is pressed when searching
## possible values: return-original, return-query
# exit_mode = "return-original"
## possible values: emacs, subl
# word_jump_mode = "emacs"
## characters that count as a part of a word
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
## number of context lines to show when scrolling by pages
# scroll_context_lines = 1
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
## alt-0 .. alt-9
# ctrl_n_shortcuts = false
## default history list format - can also be specified with the --format arg
# history_format = "{time}\t{command}\t{duration}"
## prevent commands matching any of these regexes from being written to history.
## Note that these regular expressions are unanchored, i.e. if they don't start
## with ^ or end with $, they'll match anywhere in the command.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# history_filter = [
# "^secret-cmd",
# "^innocuous-cmd .*--secret=.+",
# ]
## prevent commands run with cwd matching any of these regexes from being written
## to history. Note that these regular expressions are unanchored, i.e. if they don't
## start with ^ or end with $, they'll match anywhere in CWD.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# cwd_filter = [
# "^/very/secret/area",
# ]
## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines.
# max_preview_height = 4
## Configure whether or not to show the help row, which includes the current Atuin
## version (and whether an update is available), a keymap hint, and the total
## amount of commands in your history.
# show_help = true
## Configure whether or not to show tabs for search and inspect
# show_tabs = true
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
## 1. AWS key id
## 2. Github pat (old and new)
## 3. Slack oauth tokens (bot, user)
## 4. Slack webhooks
## 5. Stripe live/test keys
# secrets_filter = true
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
enter_accept = true
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
## search`. If this is set to "auto", the startup keymap mode in the Atuin
## search is automatically selected based on the shell's keymap where the
## keybinding is defined. If this is set to "emacs", "vim-insert", or
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
## the specified one.
# keymap_mode = "auto"
## Cursor style in each keymap mode. If specified, the cursor style is changed
## in entering the cursor shape. Available values are "default" and
## "{blink,steady}-{block,underline,bar}".
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
# network_connect_timeout = 5
# network_timeout = 5
## Timeout (in seconds) for acquiring a local database connection (sqlite)
# local_timeout = 5
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
## Alternatively, set env NO_MOTION=true
# prefers_reduced_motion = false
[stats]
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
# common_subcommands = [
# "apt",
# "cargo",
# "composer",
# "dnf",
# "docker",
# "git",
# "go",
# "ip",
# "kubectl",
# "nix",
# "nmcli",
# "npm",
# "pecl",
# "pnpm",
# "podman",
# "port",
# "systemctl",
# "tmux",
# "yarn",
# ]
## Set commands that should be totally stripped and ignored from stats
# common_prefix = ["sudo"]
## Set commands that will be completely ignored from stats
# ignored_commands = [
# "cd",
# "ls",
# "vi"
# ]
[keys]
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
# scroll_exits = false
[sync]
# Enable sync v2 by default
# This ensures that sync v2 is enabled for new installs only
# In a later release it will become the default across the board
records = true
[preview]
## which preview strategy to use to calculate the preview height (respects max_preview_height).
## possible values: auto, static
## auto: length of the selected command.
## static: length of the longest command stored in the history.
# strategy = "auto"
[daemon]
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
# enabled = false
## How often the daemon should sync in seconds
# sync_frequency = 300
## The path to the unix socket used by the daemon (on unix systems)
## linux/mac: ~/.local/share/atuin/atuin.sock
## windows: Not Supported
# socket_path = "~/.local/share/atuin/atuin.sock"
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
## linux: false
## mac/windows: Not Supported
# systemd_socket = false
## The port that should be used for TCP on non unix systems
# tcp_port = 8889

View file

@ -1 +0,0 @@
01907415eee9741084f49eef9d787668

View file

@ -1 +0,0 @@
3AAgf8zIzNJdInJpDsyHCBdzeSTMxcz5zIXMsMzMVWrM+AF5HCvMsGlCMRbMlg==

View file

@ -12,7 +12,7 @@
:onclick "${EWW_CMD} open MusicPlayerPopup --toggle"
:visible cover
(image :path { pcover == "" ? "./assets/image/emptympd.png" : pcover } :image-width 20 :image-height 20))
(image :path { music_cover == "" ? "./assets/image/emptympd.png" : music_cover } :image-width 20 :image-height 20))
(box
:class "player-controls"
@ -24,7 +24,7 @@
(button :onclick "playerctl previous"
(label :text "󰒮"))
(button :onclick "playerctl play-pause"
(label :text { pstatus == "Playing" ? "" : ""}))
(label :text { music_status == "Playing" ? "" : ""}))
(button :onclick "playerctl next"
(label :text "󰒭"))))))
@ -36,8 +36,8 @@
:orientation "v"
:halign "fill"
:height {height}
:class { pcover != "" ? "player-cover" : ""}
:style "background-image: url('${pcover}')")
:class { music_cover != "" ? "player-cover" : ""}
:style "background-image: url('${music_cover}')")
(box
:orientation "h"
@ -46,7 +46,7 @@
:valign "center"
:spacing spacing-large
(image :image-width 100 :image-height 100 :path { pcover == "" ? "./assets/image/emptympd.png" : pcover })
(image :image-width 100 :image-height 100 :path { music_cover == "" ? "./assets/image/emptympd.png" : music_cover })
(box
:orientation "v"
@ -65,12 +65,12 @@
(scroll
:hscroll true
:vscroll false
(label :text psong))
(label :text music_title))
(scroll
:hscroll true
:vscroll false
(label :text partist))
(label :text music_artist))
)
(box
@ -79,11 +79,10 @@
(button :onclick "playerctl previous"
(label :text "󰒮"))
(button :onclick "playerctl play-pause"
(label :text { pstatus == "Playing" ? "" : ""} ))
(label :text { music_status == "Playing" ? "" : ""} ))
(button :onclick "playerctl next"
(label :text "󰒭"))))))
)
)
@ -101,7 +100,7 @@
:class "widget"
:space-evenly false
:spacing 20
(image :style "margin: 5px;" :image-height 190 :image-width 190 :path { pcover == "" ? "./assets/image/emptympd.png" : pcover})
(image :style "margin: 5px;" :image-height 190 :image-width 190 :path { music_cover == "" ? "./assets/image/emptympd.png" : music_cover})
(box
:orientation "v"
:space-evenly false
@ -110,11 +109,11 @@
(scroll
:hscroll true
:vscroll false
(label :class "mtitle" :text psong))
(label :class "mtitle" :text music_title))
(scroll
:hscroll true
:vscroll false
(label :class "mauthor" :text partist))
(label :class "mauthor" :text music_artist))
(box
:orientation "h"
:class "mpd_controls"
@ -122,13 +121,13 @@
(button :onclick "playerctl previous"
(label :text "󰒮"))
(button :style "padding-right: 3px;" :onclick "playerctl play-pause"
(label :text { pstatus == "Playing" ? "" : ""}))
(label :text { music_status == "Playing" ? "" : ""}))
(button :onclick "playerctl next" (label :text "󰒭")))
(scale
:class "seektime"
:value { ptime.position}
:value { music_time.position}
:orientation "h"
;; :onchange "playerctl position {}"
:min 0
:max { ptime.duration}
:tooltip { ptime.readable})))))
:max { music_time.duration}
:tooltip { music_time.readable})))))

View file

@ -73,7 +73,7 @@
(overlay
(box
:class "mpdcover"
:style "background-image: url('${pcover}')"
:style "background-image: url('${music_cover}')"
:height 150)
(box
:orientation "v"
@ -83,11 +83,11 @@
(scroll
:hscroll true
:vscroll false
(label :style "font-size: 18px;" :text psong))
(label :style "font-size: 18px;" :text music_title))
(scroll
:hscroll true
:vscroll false
(label :text partist))
(label :text music_artist))
;; (scale
;; :hexpand false
;; :width 60
@ -105,7 +105,7 @@
:halign "center"
:class "dmpdcontrol"
(button :onclick "./scripts/music_info --prev" (label :text "󰒮"))
(button :onclick "./scripts/music_info --toggle" (label :text { pstatus == "Playing" ? "" : ""}))
(button :onclick "./scripts/music_info --toggle" (label :text { music_status == "Playing" ? "" : ""}))
(button :onclick "./scripts/music_info --next" (label :text "󰒭"))))))
(defwidget dcal []

View file

@ -29,12 +29,7 @@
(Logo)
(DotsWorkspaces)
; (Shortcuts)
(RevealOnClick
:var revealSystray
:varname "revealSystray"
:direction "down"
(Systemtray :orientation "v")
)
))
(defwidget BarMiddle []
@ -56,31 +51,19 @@
:space-evenly false
:valign "end"
(RevealOnClick
:var revealSystray
:varname "revealSystray"
:direction "up"
(Systemtray :orientation "v")
)
(Sliders)
(Language)
))
(defwidget Shortcuts []
(RevealOnClick
:var revealShortcuts
:varname "revealShortcuts"
:direction "down"
(box
:orientation "v"
:spacing spacing-default
(button :onclick "swaymsg kill"
(label :class "icon" :text "󰅙"))
(button :onclick "wofi --show=drun -i -I"
(label :class "icon" :text "󰀻"))
(button :onclick "./scripts/touchkey.sh"
(label :class "icon" :text "󰌌"))))
)
(defwidget Sliders []
(box
:class "widget"
:class "control-box"
:orientation "v"
:space-evenly false
:spacing spacing-default