From a16e17cd5e19da51a47efc94ca17a08632ca9095 Mon Sep 17 00:00:00 2001 From: Gianmarco Gargiulo Date: Fri, 31 Dec 2021 12:34:24 +0100 Subject: [PATCH] First experimental commit for the new bspwm-based rice --- .config/betterlockscreenrc | 36 ++ .config/bspwm/bspwmrc | 35 ++ .config/dunst/dunstrc | 435 ++++++++++++++++ .config/picom/picom.conf | 516 +++++++++++++++++++ .config/polybar/gmg/colors.ini | 2 +- .config/polybar/gmg/config.ini | 10 +- .config/polybar/gmg/modules.ini | 95 ++-- .config/polybar/gmg/scripts/aggiorna.sh | 8 +- .config/polybar/gmg/scripts/notifications.sh | 9 + .config/polybar/gmg/user_modules.ini | 27 +- .config/sxhkd/sxhkdrc | 165 ++++++ .config/sxhkd/sxhkdrc.bak | 11 + .stalonetrayrc | 137 +++++ .xbindkeysrc | 79 +++ README.md | 11 +- Scripts/autostart.sh | 32 ++ Scripts/bspwm.sh | 4 + Scripts/usbsounds.sh | 29 ++ Scripts/xbk.sh | 2 + Sounds/.directory | 2 + Sounds/changeaudio.ogg | Bin 0 -> 14392 bytes Sounds/changevol.wav | Bin 0 -> 32272 bytes Sounds/deverror.wav | Bin 0 -> 401064 bytes Sounds/devinsert.wav | Bin 0 -> 374232 bytes Sounds/devremove.wav | Bin 0 -> 367168 bytes Sounds/ding.ogg | Bin 0 -> 8012 bytes Sounds/lock.ogg | Bin 0 -> 43763 bytes Sounds/mount.wav | Bin 0 -> 166456 bytes Sounds/sticky.ogg | Bin 0 -> 5517 bytes Sounds/unlock.ogg | Bin 0 -> 36215 bytes Sounds/unmute.ogg | Bin 0 -> 4615 bytes 31 files changed, 1570 insertions(+), 75 deletions(-) create mode 100644 .config/betterlockscreenrc create mode 100755 .config/bspwm/bspwmrc create mode 100644 .config/dunst/dunstrc create mode 100644 .config/picom/picom.conf create mode 100755 .config/polybar/gmg/scripts/notifications.sh create mode 100644 .config/sxhkd/sxhkdrc create mode 100644 .config/sxhkd/sxhkdrc.bak create mode 100644 .stalonetrayrc create mode 100644 .xbindkeysrc create mode 100755 Scripts/autostart.sh create mode 100755 Scripts/bspwm.sh create mode 100755 Scripts/usbsounds.sh create mode 100755 Scripts/xbk.sh create mode 100644 Sounds/.directory create mode 100755 Sounds/changeaudio.ogg create mode 100755 Sounds/changevol.wav create mode 100755 Sounds/deverror.wav create mode 100755 Sounds/devinsert.wav create mode 100755 Sounds/devremove.wav create mode 100755 Sounds/ding.ogg create mode 100755 Sounds/lock.ogg create mode 100755 Sounds/mount.wav create mode 100755 Sounds/sticky.ogg create mode 100755 Sounds/unlock.ogg create mode 100755 Sounds/unmute.ogg diff --git a/.config/betterlockscreenrc b/.config/betterlockscreenrc new file mode 100644 index 0000000..cb21c41 --- /dev/null +++ b/.config/betterlockscreenrc @@ -0,0 +1,36 @@ +# ~/.config/betterlockscreenrc + +# default options +display_on=0 +span_image=false +lock_timeout=300 +fx_list=(dim blur dimblur pixel dimpixel color) +dim_level=40 +blur_level=1 +pixel_scale=10,1000 +solid_color=333333 +wallpaper_cmd="feh --bg-fill /data/Immagini/Sfondi/dark-planet.-1920×1080.jpg" +# i3lockcolor_bin="i3lock-color" # Manually set command for i3lock-color + +# default theme +loginbox=00000066 +loginshadow=00000000 +locktext="Password per sbloccare..." +font="Roboto" +ringcolor=ffffffff +insidecolor=00000000 +separatorcolor=00000000 +ringvercolor=ffffffff +insidevercolor=00000000 +ringwrongcolor=ffffffff +insidewrongcolor=d23c3dff +timecolor=ffffffff +time_format="%H:%M, %d/%m/%y" +greetercolor=ffffffff +layoutcolor=ffffffff +keyhlcolor=d23c3dff +bshlcolor=d23c3dff +verifcolor=ffffffff +wrongcolor=d23c3dff +modifcolor=d23c3dff +bgcolor=000000ff diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc new file mode 100755 index 0000000..b71e69d --- /dev/null +++ b/.config/bspwm/bspwmrc @@ -0,0 +1,35 @@ +#! /bin/sh + +pgrep -x sxhkd > /dev/null || sxhkd & +killall dunst || dunst -conf .config/dunst/dunstrc & +#killall deadd-notification-center || deadd-notification-center & +feh --bg-fill "/data/Creazioni/Red Line Wallpaper/redline_radiance.png" + +setxkbmap it +#xinput --set-prop "ETPS/2 Elantech Touchpad" "libinput Natural Scrolling Enabled" 1 +#xinput --set-prop "ETPS/2 Elantech Touchpad" "libinput Tapping Enabled" 1 +xset r rate 250 40 + +xrandr --output DVI-D-0 --mode 1920x1080 --same-as HDMI-A-1 +bspc monitor -d 1 2 3 4 5 6 + +bspc config border_width 3 +bspc config window_gap 10 +bspc config focused_border_color "#eb4034" + +bspc config split_ratio 0.5 +bspc config borderless_monocle true +bspc config gapless_monocle true + +bspc rule -a elisa state=floating +bspc rule -a dolphin state=floating +bspc rule -a ksysguard state=floating +bspc rule -a KeePassXC state=floating +bspc rule -a SimpleScreenRecorder state=floating +bspc rule -a krfb state=floating +bspc rule -a 'LibreWolf:Toolkit' state=floating +bspc rule -a desktop="Desktop" locked=on + +~/Scripts/autostart.sh +~/.config/polybar/launch.sh --gmg +picom \ No newline at end of file diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..32a2383 --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,435 @@ +# See dunst(5) for all configuration options + +[global] + ### Display ### + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a window manager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern window managers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = none + + ### Geometry ### + + # dynamic width from 0 to 300 + # width = (0, 300) + # constant width of 300 + width = 300 + + # The maximum height of a single notification, excluding the frame. + height = 300 + + # Position the notification in the top right corner + origin = top-right + + # Offset from the origin + offset = 20x55 + + # Scale factor. It is auto-detected if value is 0. + scale = 0 + + # Maximum number of notification (0 means no limit) + notification_limit = 0 + + ### Progress bar ### + + # Turn on the progess bar. It appears when a progress hint is passed with + # for example dunstify -h int:value:12 + progress_bar = true + + # Set the progress bar height. This includes the frame, so make sure + # it's at least twice as big as the frame width. + progress_bar_height = 10 + + # Set the frame width of the progress bar + progress_bar_frame_width = 1 + + # Set the minimum width for the progress bar + progress_bar_min_width = 150 + + # Set the maximum width for the progress bar + progress_bar_max_width = 300 + + + # Show how many messages are currently hidden (because of + # notification_limit). + indicate_hidden = yes + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing window manager is + # present (e.g. xcompmgr, compiz, etc.). (X11 only) + transparency = 0 + + # Draw a line of "separator_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Padding between text and icon. + text_icon_padding = 0 + + # Defines width in pixels of frame around the notification window. + # Set to 0 to disable. + frame_width = 3 + + # Defines color of the frame around the notification window. + frame_color = "#eb4034" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + # A client can set the 'transient' hint to bypass this. See the rules + # section for how to disable this if necessary + # idle_threshold = 120 + + ### Text ### + + font = Roboto 10 + + # The spacing between lines. If the height is smaller than the + # font height, it will get raised to the font height. + line_height = 0 + + # Possible values are: + # full: Allow a small subset of html markup in notifications: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # + # strip: This setting is provided for compatibility with some broken + # clients that send markup even though it's not enabled on the + # server. Dunst will try to strip the markup but the parsing is + # simplistic so using this option outside of matching rules for + # specific applications *IS GREATLY DISCOURAGED*. + # + # no: Disable markup parsing, incoming notifications will be treated as + # plain text. Dunst will not advertise that it has the body-markup + # capability if this is set as a global setting. + # + # It's important to note that markup inside the format option will be parsed + # regardless of what this is set to. + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%a\n%s\n%b" + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # Vertical alignment of message text and icon. + # Possible values are "top", "center" and "bottom". + vertical_alignment = center + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Specify where to make an ellipsis in long lines. + # Possible values are "start", "middle" and "end". + ellipsize = middle + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + # Stack together notifications with the same content + stack_duplicates = true + + # Hide the count of stacked notifications with the same content + hide_duplicate_count = false + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + ### Icons ### + + # Align icons left/right/off + icon_position = right + + # Scale small icons up to this size, set to 0 to disable. Helpful + # for e.g. small files or high-dpi screens. In case of conflict, + # max_icon_size takes precedence over this. + min_icon_size = 0 + + # Scale larger icons down to this size, set to 0 to disable + max_icon_size = 32 + + # Paths to default icons. + icon_path = /home/gianmarco/.local/share/icons/nightmare-magma/status/16/:/home/gianmarco/.local/share/icons/nightmare-magma/devices/16/ + + ### History ### + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + ### Misc/Advanced ### + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/xdg-open + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + # Define the title of the windows spawned by dunst + title = Dunst + + # Define the class of the windows spawned by dunst + class = Dunst + + # Define the corner radius of the notification window + # in pixel size. If the radius is 0, you have no rounded + # corners. + # The radius will be automatically lowered if it exceeds half of the + # notification height to avoid clipping text and/or icons. + corner_radius = 10 + + # Ignore the dbus closeNotification message. + # Useful to enforce the timeout set by dunst configuration. Without this + # parameter, an application may close the notification sent before the + # user defined timeout. + ignore_dbusclose = false + + ### Wayland ### + # These settings are Wayland-specific. They have no effect when using X11 + + # Uncomment this if you want to let notications appear under fullscreen + # applications (default: overlay) + # layer = top + + # Set this to true to use X11 output on Wayland. + force_xwayland = false + + ### Legacy + + # Use the Xinerama extension instead of RandR for multi-monitor support. + # This setting is provided for compatibility with older nVidia drivers that + # do not support RandR and using it on systems that support RandR is highly + # discouraged. + # + # By enabling this setting dunst will not be able to detect when a monitor + # is connected or disconnected which might break follow mode if the screen + # layout changes. + force_xinerama = false + + ### mouse + + # Defines list of actions for each mouse event + # Possible values are: + # * none: Don't do anything. + # * do_action: Invoke the action determined by the action_name rule. If there is no + # such action, open the context menu. + # * open_url: If the notification has exactly one url, open it. If there are multiple + # ones, open the context menu. + # * close_current: Close current notification. + # * close_all: Close all notifications. + # * context: Open context menu for the notification. + # * context_all: Open context menu for all notifications. + # These values can be strung together for each mouse event, and + # will be executed in sequence. + mouse_left_click = do_action + #mouse_middle_click = do_action, close_current + mouse_right_click = close_current + +# Experimental features that may or may not work correctly. Do not expect them +# to have a consistent behaviour across releases. +[experimental] + # Calculate the dpi to use on a per-monitor basis. + # If this setting is enabled the Xft.dpi value will be ignored and instead + # dunst will attempt to calculate an appropriate dpi value for each monitor + # using the resolution and physical size. This might be useful in setups + # where there are multiple screens with very different dpi values. + per_monitor_dpi = false + + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#2A2C2B" + foreground = "#e5e5e5" + timeout = 10 + # Icon for notifications with low urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_normal] + background = "#2A2C2B" + foreground = "#e5e5e5" + timeout = 10 + # Icon for notifications with normal urgency, uncomment to enable + #default_icon = /path/to/icon + +[urgency_critical] + background = "#2A2C2B" + foreground = "#e5e5e5" + timeout = 0 + # Icon for notifications with critical urgency, uncomment to enable + #default_icon = /path/to/icon + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# +# Messages can be matched by +# appname (discouraged, see desktop_entry) +# body +# category +# desktop_entry +# icon +# match_transient +# msg_urgency +# stack_tag +# summary +# +# and you can override the +# background +# foreground +# format +# frame_color +# fullscreen +# new_icon +# set_stack_tag +# set_transient +# set_category +# timeout +# urgency +# skip_display +# history_ignore +# action_name +# word_wrap +# ellipsize +# alignment +# +# Shell-like globbing will get expanded. +# +# Instead of the appname filter, it's recommended to use the desktop_entry filter. +# GLib based applications export their desktop-entry name. In comparison to the appname, +# the desktop-entry won't get localized. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +# Disable the transient hint so that idle_threshold cannot be bypassed from the +# client +#[transient_disable] +# match_transient = yes +# set_transient = no +# +# Make the handling of transient notifications more strict by making them not +# be placed in history. +#[transient_history_ignore] +# match_transient = yes +# history_ignore = yes + +# fullscreen values +# show: show the notifications, regardless if there is a fullscreen window opened +# delay: displays the new notification, if there is no fullscreen window active +# If the notification is already drawn, it won't get undrawn. +# pushback: same as delay, but when switching into fullscreen, the notification will get +# withdrawn from screen again and will get delayed like a new notification +#[fullscreen_delay_everything] +# fullscreen = delay +#[fullscreen_show_critical] +# msg_urgency = critical +# fullscreen = show + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# skip_display = true + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[skip-display] +# # This notification will not be displayed, but will be included in the history +# summary = "foobar" +# skip_display = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +#[stack-volumes] +# appname = "some_volume_notifiers" +# set_stack_tag = "volume" +# +# vim: ft=cfg diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf new file mode 100644 index 0000000..62c9800 --- /dev/null +++ b/.config/picom/picom.conf @@ -0,0 +1,516 @@ +################################# +# Animations # +################################# +# requires https://github.com/jonaburg/picom +# (These are also the default values) +transition-length = 100 +transition-pow-x = 0.1 +transition-pow-y = 0.1 +transition-pow-w = 0.1 +transition-pow-h = 0.1 +size-transition = true + + +################################# +# Corners # +################################# +# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom +corner-radius = 10.0; +rounded-corners-exclude = [ + #"window_type = 'normal'", + "class_g = 'awesome'", + "class_g = 'URxvt'", + "class_g = 'XTerm'", + "class_g = 'kitty'", + "class_g = 'Alacritty'", + "class_g = 'Polybar'", + "class_g = 'code-oss'", + #"class_g = 'TelegramDesktop'", + "class_g = 'firefox'", + "class_g = 'Thunderbird'", + "class_g = 'dmenu'", + "class_g = 'stalonetray'" +]; +round-borders = 1; +round-borders-exclude = [ + #"class_g = 'TelegramDesktop'", +]; + +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 35; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +shadow-opacity = .5 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -35; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -35; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "class_g = 'slop'", + "class_g = 'Polybar'", + "_GTK_FRAME_EXTENTS@:c" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +fade-delta = 2.5 + +# Specify a list of conditions of windows that should not be faded. +# don't need this, we disable fading for all normal windows with wintypes: {} +fade-exclude = [ + "class_g = 'slop'" # maim +] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 1; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 0.7; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 +# menu-opacity is depreciated use dropdown-menu and popup-menu instead. + +#If using these 2 below change their values in line 510 & 511 aswell +popup_menu = { opacity = 0.8; } +dropdown_menu = { opacity = 0.8; } + + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +active-opacity = 1.0; + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +# inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ + "class_g = 'Cairo-clock'", + "class_g = 'Bar'", # lemonbar + "class_g = 'slop'" # maim +]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] +opacity-rule = [ + "80:class_g = 'Bar'", # lemonbar + "100:class_g = 'slop'", # maim + "100:class_g = 'XTerm'", + "100:class_g = 'URxvt'", + "100:class_g = 'kitty'", + "100:class_g = 'Alacritty'", + "100:class_g = 'Polybar'", + "100:class_g = 'code-oss'", + "100:class_g = 'Meld'", + "100:class_g = 'TelegramDesktop'", + "90:class_g = 'Joplin'", + "100:class_g = 'firefox'", + "100:class_g = 'Thunderbird'", +]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +# blur-background = true; + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false; + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false; + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +# blur-kern = "3x3box"; + +blur: { + # requires: https://github.com/ibhagwan/picom + method = "kawase"; + #method = "kernel"; + strength = 7; + # deviation = 1.0; + # kernel = "11x11gaussian"; + background = false; + background-frame = false; + background-fixed = false; + kern = "3x3box"; +} + +# Exclude conditions for background blur. +blur-background-exclude = [ + #"window_type = 'dock'", + #"window_type = 'desktop'", + #"class_g = 'URxvt'", + # + # prevents picom from blurring the background + # when taking selection screenshot with `main` + # https://github.com/naelstrof/maim/issues/130 + "class_g = 'slop'", + "_GTK_FRAME_EXTENTS@:c", + "class_g = 'flameshot'", + "class_g = 'Plank'" +]; + + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +experimental-backends = true; +backend = "glx"; +#backend = "xrender"; + + +# Enable/disable VSync. +# vsync = false +vsync = true + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 0 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +#use-damage = true (Causing Weird Black semi opaque rectangles when terminal is opened) +#Changing use-damage to false fixes the problem +use-damage = false + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "info"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + normal = { fade = false; shadow = false; } + tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 0.8; } + dropdown_menu = { opacity = 0.8; } +}; diff --git a/.config/polybar/gmg/colors.ini b/.config/polybar/gmg/colors.ini index 11d5367..91d79a3 100755 --- a/.config/polybar/gmg/colors.ini +++ b/.config/polybar/gmg/colors.ini @@ -12,7 +12,7 @@ ;; Use pywal.sh in scripts directory to use colors from an image/wallpaper. ;; main colors -background = #2A2C2B +background = #002A2C2B foreground = #e5e5e5 foreground-alt = #bdc3c7 module-fg = #1F1F1F diff --git a/.config/polybar/gmg/config.ini b/.config/polybar/gmg/config.ini index a6b2eac..c8922a6 100755 --- a/.config/polybar/gmg/config.ini +++ b/.config/polybar/gmg/config.ini @@ -112,7 +112,7 @@ border-color = ${color.background} ; Number of spaces to add at the beginning/end of the bar ; Individual side values can be defined using: ; padding-{left,right} -padding-left = 2 +padding-left = 4 ; Number of spaces to add before/after each module ; Individual side values can be defined using: @@ -129,7 +129,7 @@ module-margin = 2 ; font-3 = FontAwesome:size=10 ; See the Fonts wiki page for more details -font-0 = "Roboto Medium:pixelsize=10;3" +font-0 = "Roboto:style=Medium:pixelsize=10;3" font-1 = "Material\-Design\-Iconic\-Font:size=13;3" font-2 = "Roboto Mono:pixelsize=10;3" @@ -138,9 +138,9 @@ font-2 = "Roboto Mono:pixelsize=10;3" ; modules-center = xwindow xbacklight ; modules-right = ipc clock -modules-left = workspaces title +modules-left = bspwm title modules-center = now-playing date -modules-right = showtray mail mail2 updates cpu memory keyboard pulseaudio-control battery network caveau notifications powermenu +modules-right = mail mail2 updates cpu memory keyboard pulseaudio-control battery network caveau notifications powermenu ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ @@ -203,7 +203,7 @@ tray-scale = 1.0 ; Currently supported WM's: ; bspwm ; i3 (requires: `override-redirect = true`) -;;wm-restack = +wm-restack = bspwm ; Set a DPI values used when rendering text ; This only affects scalable fonts diff --git a/.config/polybar/gmg/modules.ini b/.config/polybar/gmg/modules.ini index 47b4d06..0d97313 100755 --- a/.config/polybar/gmg/modules.ini +++ b/.config/polybar/gmg/modules.ini @@ -205,57 +205,57 @@ animation-charging-framerate = 750 ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -;;[module/bspwm] -;;type = internal/bspwm +[module/bspwm] +type = internal/bspwm ; Only show workspaces defined on the same output as the bar ; NOTE: The bspwm and XRandR monitor names must match, which they do by default. ; Default: true -;;pin-workspaces = true +pin-workspaces = true ; Output mode flags after focused state label ; Default: false -;;inline-mode = false +inline-mode = false ; Create click handler used to focus workspace ; Default: true -;;enable-click = false +enable-click = true ; Create scroll handlers used to cycle workspaces ; Default: true -;;enable-scroll = false +enable-scroll = true ; Set the scroll cycle direction ; Default: true -;;reverse-scroll = false +reverse-scroll = true ; Use fuzzy (partial) matching on labels when assigning ; icons to workspaces ; Example: code;♚ will apply the icon to all workspaces ; containing 'code' in the label ; Default: false -;;fuzzy-match = true +fuzzy-match = true ; ws-icon-[0-9]+ = label;icon ; Note that the label needs to correspond with the bspwm workspace name -;;ws-icon-0 = code;♚ -;;ws-icon-1 = office;♛ -;;ws-icon-2 = graphics;♜ -;;ws-icon-3 = mail;♝ -;;ws-icon-4 = web;♞ -;;ws-icon-default = ♟ +;ws-icon-0 = code;♚ +;ws-icon-1 = office;♛ +;ws-icon-2 = graphics;♜ +;ws-icon-3 = mail;♝ +;ws-icon-4 = web;♞ +ws-icon-default =  ; Available tags: ; ; - gets replaced with ; - gets replaced with ; Default: -;;format = +format = ; Available tokens: ; %name% ; Default: %name% -;;label-monitor = %name% +label-monitor = %name% ; If any values for label-dimmed-N are defined, the workspace/mode ; colors will get overridden with those values if the monitor is out of focus @@ -264,69 +264,69 @@ animation-charging-framerate = 750 ; label-dimmed-occupied ; label-dimmed-urgent ; label-dimmed-empty -;;label-dimmed-foreground = #555 -;;label-dimmed-underline = ${bar/top.background} -;;label-dimmed-focused-background = #f00 +label-dimmed-foreground = #555 +label-dimmed-underline = ${bar/top.background} +label-dimmed-focused-background = #f00 ; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% -;;label-focused = %icon% -;;label-focused-foreground = #ffffff -;;label-focused-background = #3f3f3f -;;label-focused-underline = #fba922 +label-focused =  +label-focused-foreground = ${color.secondary} +;label-focused-background = #3f3f3f +label-focused-underline = ${color.secondary} ; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% -;;label-occupied = %icon% -;;label-occupied-underline = #555555 +label-occupied =  +;label-occupied-underline = ${color.foreground-alt} ; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% -;;label-urgent = %icon% -;;label-urgent-foreground = #000000 -;;label-urgent-background = #bd2c40 -;;label-urgent-underline = #9b0a20 +label-urgent =  +label-urgent-foreground = #fc7a00 +;label-urgent-background = #bd2c40 +label-urgent-underline = #fc7a00 ; Available tokens: ; %name% ; %icon% ; %index% ; Default: %icon% %name% -;;label-empty = %icon% -;;label-empty-foreground = #55 +label-empty = %icon% +label-empty-foreground = #55 ; The following labels will be used to indicate the layout/mode ; for the focused workspace. Requires ; ; Available tokens: ; None -;label-monocle =  -;label-tiled =  -;label-fullscreen =  -;label-floating =  -;label-pseudotiled = P -;label-locked =  -;label-locked-foreground = #bd2c40 -;label-sticky =  -;label-sticky-foreground = #fba922 -;label-private =  -;label-private-foreground = #bd2c40 +label-monocle =  +label-tiled =  +label-fullscreen =  +label-floating =  +label-pseudotiled = P +label-locked =  +label-locked-foreground = #bd2c40 +label-sticky =  +label-sticky-foreground = #fba922 +label-private =  +label-private-foreground = #bd2c40 ; Separator in between workspaces -;;label-separator = | -;;label-separator-padding = 2 -;;label-separator-foreground = #ffb52a +label-separator = "_" +label-separator-padding = 1 +label-separator-foreground = ${color.background} -;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ [module/cpu] type = internal/cpu @@ -988,7 +988,8 @@ label = " %title%" label-maxlen = 80 ; Used instead of label when there is no window title -label-empty = " Nessuna finestra a fuoco" +label-empty = " Desktop" +label-empty-foreground = ${color.foreground-alt} ;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ diff --git a/.config/polybar/gmg/scripts/aggiorna.sh b/.config/polybar/gmg/scripts/aggiorna.sh index f4d6dcf..72d02b4 100755 --- a/.config/polybar/gmg/scripts/aggiorna.sh +++ b/.config/polybar/gmg/scripts/aggiorna.sh @@ -5,10 +5,4 @@ ICON_SUCCESS=/usr/share/icons/breeze/status/64/dialog-positive.svg ICON_FAILURE=/usr/share/icons/breeze/status/64/dialog-error.svg -choice=$(kdialog --yesno "Inizierò a creare una snapshot e poi aggiornerò il sistema. Vuoi procedere?" --title "Aggiornamento"); - -if [ "$?" = 0 ]; then - echo "Inizio l'aggiornamento del sistema..." && sudo timeshift --delete-all && sudo timeshift --create && yay -Syu --noconfirm && echo "Aggiornamento completato. Puoi chiudere questa finestra." && notify-send "Aggiornamento completato" "Il sistema è stato aggiornato." -a Aggiornamenti -i $ICON_SUCCESS || echo "Si è verificato un errore durante l'aggiornamento." || notify-send "Aggiornamento fallito" "Si è verificato un errore durante l'aggiornamento. Controlla il terminale." -a Aggiornamenti -i $ICON_FAILURE; -elif [ "$?" = 1 ]; then - echo "Aggiornamento annullato. Puoi chiudere questa finestra."; -fi; \ No newline at end of file +echo "Inizio l'aggiornamento del sistema..." && sudo timeshift --delete-all && sudo timeshift --create && yay -Syu --noconfirm && echo "Aggiornamento completato. Puoi chiudere questa finestra." && notify-send "Aggiornamento completato" "Il sistema è stato aggiornato." -a Aggiornamenti -i $ICON_SUCCESS || echo "Si è verificato un errore durante l'aggiornamento." || notify-send "Aggiornamento fallito" "Si è verificato un errore durante l'aggiornamento. Controlla il terminale." -a Aggiornamenti -i $ICON_FAILURE; \ No newline at end of file diff --git a/.config/polybar/gmg/scripts/notifications.sh b/.config/polybar/gmg/scripts/notifications.sh new file mode 100755 index 0000000..614fa0d --- /dev/null +++ b/.config/polybar/gmg/scripts/notifications.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +count=$(dunstctl count waiting) + +if [[ $(dunstctl is-paused) = "true" ]]; then + echo "%{F#bdc3c7} $count" +else + echo "" +fi \ No newline at end of file diff --git a/.config/polybar/gmg/user_modules.ini b/.config/polybar/gmg/user_modules.ini index e3399c9..01024b9 100755 --- a/.config/polybar/gmg/user_modules.ini +++ b/.config/polybar/gmg/user_modules.ini @@ -15,10 +15,10 @@ label-foreground = ${colors.foreground} exec = pulseaudio-control --osd --color-muted bdc3c7 --icons-volume " , " --icon-muted " " --sink-nicknames-from "device.description" --sink-nickname "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra3:(HDMI)" --sink-nickname "alsa_output.pci-0000_00_1f.3.analog-stereo:(Cuffie)" listen click-right = exec pavucontrol-qt & -click-left = pulseaudio-control togmute -click-middle = pulseaudio-control next-sink -scroll-up = pulseaudio-control --volume-max 100 up -scroll-down = pulseaudio-control --volume-max 100 down +click-left = pulseaudio-control togmute && play '~/Sounds/changevol.wav' +click-middle = pulseaudio-control next-sink && play '~/Sounds/changeaudio.ogg' +scroll-up = pulseaudio-control --volume-max 100 up && play '~/Sounds/changevol.wav' +scroll-down = pulseaudio-control --volume-max 100 down && play '~/Sounds/changevol.wav' [module/mail] type = custom/script @@ -41,7 +41,7 @@ tail = true format-suffix = " ·" format =