diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml index 93b7a61..59e6ce7 100644 --- a/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml @@ -318,7 +318,7 @@ colors: # # Window opacity as a floating point number from `0.0` to `1.0`. # The value `0.0` is completely transparent and `1.0` is opaque. -background_opacity: 0.75 +background_opacity: 0.95 #selection: #semantic_escape_chars: ",β”‚`|:\"' ()[]{}<>\t" diff --git a/awesome/init.fnl b/awesome/init.fnl index da9bd72..7ca2365 100644 --- a/awesome/init.fnl +++ b/awesome/init.fnl @@ -79,7 +79,7 @@ (if (= "syl\n" stdout) (global laptop true) (global laptop false)))) -(local laptop false) +(local laptop true) ;; Table of layouts to cover with awful.layout.inc, order matters. (set awful.layout.layouts [ @@ -456,7 +456,7 @@ (set s.myrightwidgets { 1 { :layout wibox.layout.fixed.horizontal - 1 s.wttrwidget + ;; 1 s.wttrwidget 2 s.mailwidget 3 s.cpuwidget 4 s.volumewidget @@ -594,6 +594,7 @@ (not c.size_hints.program_position)) ;; Prevent clients from being unreachable after screen count changes. (awful.placement.no_offscreen c)) + ;; MPV wasn't centering right (when (= c.class "mpv") (awful.placement.centered c)) (awful.client.focus.byidx 1) (: c :activate []))) diff --git a/awesome/keybindings.fnl b/awesome/keybindings.fnl index 775be9e..b3a9c08 100644 --- a/awesome/keybindings.fnl +++ b/awesome/keybindings.fnl @@ -51,8 +51,8 @@ (awful.key [ modkey ] "u" awful.client.urgent.jumpto {:description "jump to urgent client" :group "client"}) (awful.key [ modkey ] "Tab" (fn [] - (awful.client.focus.history.previous) - (when client.focus (: client.focus :raise))) + (awful.client.focus.history.previous) + (when client.focus (: client.focus :raise))) {:description "go back" :group "client"}) ;; Standard program @@ -89,9 +89,9 @@ (awful.key [ modkey shift ] "space" (fn [] (awful.layout.inc -1)) {:description "select previous" :group "layout"}) (awful.key [ modkey ctrl ] "n" (fn [] - (local c (awful.client.restore)) - (when c ;; Focus restored client - (: c :emit_signal "request::activate" "key.unminimize" {:raise true}))) + (local c (awful.client.restore)) + (when c ;; Focus restored client + (: c :emit_signal "request::activate" "key.unminimize" {:raise true}))) {:description "restore minimized" :group "client"}) ;; Prompt @@ -99,13 +99,13 @@ {:description "run prompt" :group "launcher"}) (awful.key [ modkey shift ctrl ] "x" (fn [] - (let [fscr (awful.screen.focused)] - (awful.prompt.run { - :prompt "Run Lua code: " - :textbox fscr.mypromptbox.widget - :exe_callback awful.util.eval - :history_path (.. (awful.util.get_cache_dir) "/history_eval") - }))) + (let [fscr (awful.screen.focused)] + (awful.prompt.run { + :prompt "Run Lua code: " + :textbox fscr.mypromptbox.widget + :exe_callback awful.util.eval + :history_path (.. (awful.util.get_cache_dir) "/history_eval") + }))) {:description "lua execute prompt" :group "awesome"}) ;; utilities @@ -128,8 +128,6 @@ ;; Programs (awful.key [ modkey ] "d" (fn [] (awful.spawn "emacsclient -c -e '(dired-jump)'")) {:description "launch dired in new emacs frame" :group "apps" }) - (awful.key [ modkey alt ] "d" (fn [] (awful.spawn "dolphin")) - {:description "dolphin" :group "apps" }) (awful.key [ modkey shift ] "d" (fn [] (awful.spawn "dolphin")) {:description "launch dolphin file browser" :group "apps" }) (awful.key [ modkey ] "x" (fn [] (awful.spawn "emacsclient -c -e '(org-capture)'")) @@ -147,11 +145,11 @@ {:description "launch eshell in new emacs frame" :group "apps" }) (awful.key [ modkey ] "e" (fn [] (awful.spawn "emacsclient -c -a 'emacs'")) {:description "launch new emacs frame" :group "apps" }) - (awful.key [ modkey ] "p" (fn [] (awful.spawn "rofi-rbw")) + (awful.key [ modkey ] "p" (fn [] (awful.spawn "rofi-pass")) {:description "select pass" :group "apps" }) (awful.key [ modkey shift ] "w" (fn [] (awful.spawn "libreoffice --writer")) {:description "Open Writer" :group "apps" }) - (awful.key [modkey] "b" (fn [] (awful.spawn "nyxt")) + (awful.key [modkey] "b" (fn [] (awful.spawn "qutebrowser")) {:description "launch browser" :group "apps"}) ;; rofi (awful.key [] "Menu" (fn [] (awful.spawn "/home/chris/.dotfiles/rofi/launchers-git/launcher.sh")) @@ -172,16 +170,16 @@ (awful.key [modkey] "a" (fn [] (awful.spawn "alacritty --class pulsemixer -e pulsemixer")) {:description "launch pulsemixer" :group "audio"}) (awful.key [] "XF86AudioRaiseVolume" (fn [] (awful.spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%") - (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) + (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) {:description "Increase volume by 5%" :group "audio"}) (awful.key [] "XF86AudioLowerVolume" (fn [] (awful.spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%") - (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) + (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) {:description "Decrease volume by 5%" :group "audio"}) (awful.key [] "XF86AudioMute" (fn [] (awful.spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle") - (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) + (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) {:description "Mute volume" :group "audio"}) (awful.key [] "XF86Launch8" (fn [] (awful.spawn "pactl set-source-mute @DEFAULT_SOURCE@ toggle") - (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) + (awful.spawn "paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga")) {:description "Mute microphone" :group "audio"}) (awful.key [modkey] "]" (fn [] (awful.spawn "mpvc -x 0.10")) {:description "MPV speed up by .10" :group "audio"}) @@ -198,153 +196,153 @@ ;; View tags only. (awful.key [ modkey ] "1" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 1)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 1)] + (when tag + (: tag :view_only)))) {:description "view tag #1" :group "tag"}) (awful.key [ modkey ] "2" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 2)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 2)] + (when tag + (: tag :view_only)))) {:description "view tag #2" :group "tag"}) (awful.key [ modkey ] "3" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 3)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 3)] + (when tag + (: tag :view_only)))) {:description "view tag #3" :group "tag"}) (awful.key [ modkey ] "4" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 4)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 4)] + (when tag + (: tag :view_only)))) {:description "view tag #4" :group "tag"}) (awful.key [] "XF86Tools" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 1)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 1)] + (when tag + (: tag :view_only)))) {:description "view tag #1" :group "tag"}) (awful.key [] "XF86Launch5" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 2)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 2)] + (when tag + (: tag :view_only)))) {:description "view tag #2" :group "tag"}) (awful.key [] "XF86Launch6" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 3)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 3)] + (when tag + (: tag :view_only)))) {:description "view tag #3" :group "tag"}) (awful.key [] "XF86Launch7" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 4)] - (when tag - (: tag :view_only)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 4)] + (when tag + (: tag :view_only)))) {:description "view tag #4" :group "tag"}) ;; Move client to tag (awful.key [ modkey shift ] "1" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 1)] - (when tag - (: client.focus :move_to_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 1)] + (when tag + (: client.focus :move_to_tag tag))))) {:description "move focused client to tag #1" :group "tag"}) (awful.key [ modkey shift ] "2" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 2)] - (when tag - (: client.focus :move_to_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 2)] + (when tag + (: client.focus :move_to_tag tag))))) {:description "move focused client to tag #2" :group "tag"}) (awful.key [ modkey shift ] "3" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 3)] - (when tag - (: client.focus :move_to_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 3)] + (when tag + (: client.focus :move_to_tag tag))))) {:description "move focused client to tag #3" :group "tag"}) (awful.key [ modkey shift ] "4" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 4)] - (when tag - (: client.focus :move_to_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 4)] + (when tag + (: client.focus :move_to_tag tag))))) {:description "move focused client to tag #4" :group "tag"}) ;; Toggle tag display. Not working yet, can't pinpoint the problem. (awful.key [ modkey ctrl ] "1" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 1)] - (when tag - (awful.tag.viewtoggle tag)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 1)] + (when tag + (awful.tag.viewtoggle tag)))) {:description "toggle tag #1" :group "tag"}) (awful.key [ modkey ctrl ] "2" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 2)] - (when tag - (awful.tag.viewtoggle tag)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 2)] + (when tag + (awful.tag.viewtoggle tag)))) {:description "toggle tag #2" :group "tag"}) (awful.key [ modkey ctrl ] "3" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 3)] - (when tag - (awful.tag.viewtoggle tag)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 3)] + (when tag + (awful.tag.viewtoggle tag)))) {:description "toggle tag #3" :group "tag"}) (awful.key [ modkey ctrl ] "4" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 4)] - (when tag - (awful.tag.viewtoggle tag)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 4)] + (when tag + (awful.tag.viewtoggle tag)))) {:description "toggle tag #4" :group "tag"}) (awful.key [ modkey ] "0" (fn [] - (let [screen (awful.screen.focused) - tag (. screen.tags 10)] - (when tag - (awful.tag.viewtoggle tag)))) + (let [screen (awful.screen.focused) + tag (. screen.tags 10)] + (when tag + (awful.tag.viewtoggle tag)))) {:description "toggle scratchpad" :group "tag"}) ;; Toggle tag on focused client. (awful.key [ modkey ctrl shift ] "1" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 1)] - (when tag - (: client.focus :toggle_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 1)] + (when tag + (: client.focus :toggle_tag tag))))) {:description "toggle focused client on tag #1" :group "tag"}) (awful.key [ modkey ctrl shift ] "2" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 2)] - (when tag - (: client.focus :toggle_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 2)] + (when tag + (: client.focus :toggle_tag tag))))) {:description "toggle focused client on tag #2" :group "tag"}) (awful.key [ modkey ctrl shift ] "3" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 3)] - (when tag - (: client.focus :toggle_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 3)] + (when tag + (: client.focus :toggle_tag tag))))) {:description "toggle focused client on tag #3" :group "tag"}) (awful.key [ modkey ctrl shift ] "4" (fn [] - (when client.focus - (let [tag (. client.focus.screen.tags 4)] - (when tag - (: client.focus :toggle_tag tag))))) + (when client.focus + (let [tag (. client.focus.screen.tags 4)] + (when tag + (: client.focus :toggle_tag tag))))) {:description "toggle focused client on tag #4" :group "tag"}) ) @@ -363,9 +361,9 @@ (awful.key [ modkey ] "t" (fn [c] (set c.ontop (not c.ontop))) {:description "toggle keep on top" :group "client"}) (awful.key [ modkey ] "n" (fn [c] - ;; The client currently has the input focus, so it cannot be - ;; minimized, since minimized clients can't have the focus. - (set c.minimized true)) + ;; The client currently has the input focus, so it cannot be + ;; minimized, since minimized clients can't have the focus. + (set c.minimized true)) {:description "minimize" :group "client"}) (awful.key [ modkey ] "m" (fn [c] (set c.maximized (not c.maximized)) (: c :raise)) {:description "(un)maximize" :group "client"}) @@ -377,11 +375,11 @@ :clientbuttons (gears.table.join (awful.button [] 1 (fn [c] (: c :emit_signal "request::activate" "mouse_click" {:raise true}))) (awful.button [ modkey ] 1 (fn [c] - (: c :emit_signal "request::activate" "mouse_click" {:raise true}) - (awful.mouse.client.move c))) + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.move c))) (awful.button [ modkey ] 3 (fn [c] - (: c :emit_signal "request::activate" "mouse_click" {:raise true}) - (awful.mouse.client.resize c)))) + (: c :emit_signal "request::activate" "mouse_click" {:raise true}) + (awful.mouse.client.resize c)))) } ) diff --git a/fish/config.fish b/fish/config.fish index fe3a666..459dfe8 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -217,3 +217,4 @@ if status is-login end end +fm6000 -r -c blue diff --git a/libinput-gestures.conf b/libinput-gestures.conf index e86ed5d..2fa07ab 100644 --- a/libinput-gestures.conf +++ b/libinput-gestures.conf @@ -1,194 +1,23 @@ -# Configuration file for libinput-gestures. -# Mark Blakeney, Sep 2015 -# -# The default configuration file exists at /etc/libinput-gestures.conf -# but a user can create a personal custom configuration file at -# ~/.config/libinput-gestures.conf. -# -# Lines starting with '#' and blank lines are ignored. Currently -# "gesture" and "device" configuration keywords are supported as -# described below. The keyword can optionally be appended with a ":" (to -# maintain compatibility with original format configuration files). -# -# Each gesture line has 3 [or 4] arguments separated by whitespace: -# -# action motion [finger_count] command -# -# where action and motion is either: -# swipe up -# swipe down -# swipe left -# swipe right -# swipe left_up -# swipe left_down -# swipe right_up -# swipe right_down -# pinch in -# pinch out -# pinch clockwise -# pinch anticlockwise -# -# command is the remainder of the line and is any valid shell command + -# arguments. -# -# finger_count is a single numeric digit and is optional (and is -# typically 3 or 4). If specified then the command is executed when -# exactly that number of fingers is used in the gesture. If not -# specified then the command is executed when that gesture is executed -# with any number of fingers. Gesture lines specified with finger_count -# have priority over the same gesture specified without any -# finger_count. -# -# Typically command will be _internal, or xdotool. See "man xdotool" for -# the many things you can action with that tool. Note that unfortunately -# xdotool does not work with native Wayland clients. - -############################################################################### -# SWIPE GESTURES: -############################################################################### - -# Note the default is an "internal" command that uses wmctrl to switch -# workspaces and, unlike xdotool, works on both Xorg and Wayland (via -# XWayland). It also can be configured for vertical and horizontal -# switching over tabular workspaces, as per the example below. You can -# also add "-w" to the internal command to allow wrapping workspaces. -# Ensure you install wmctrl if you use _internal. +# Generated by Gestures 0.2.6 --> https://gitlab.com/cunidev/gestures +# Manual editing might result in data loss! -# NOTE ABOUT FINGER COUNT: -# The above command will configure this command for all fingers (i.e. 3 -# for 4) but to configure it for 3 fingers only, change it to: -# gesture swipe up 3 _internal ws_up -# Then you can configure something else for 4 fingers or leave 4 fingers -# unconfigured. You can configure an explicit finger count like this for -# all example commands in this configuration file. -# -# gesture swipe up xdotool key super+Page_Down - -# KDE Plasma open/close overview -gesture swipe up 3 ydotool key ctrl+F10 -gesture swipe down 3 ydotool key ctrl+F10 - -# Move through workspaces (works for GNOME/KDE/etc on Wayland and Xorg) -gesture swipe up 4 _internal ws_up -gesture swipe down 4 _internal ws_down -gesture swipe left 4 _internal ws_left -gesture swipe right 4 _internal ws_right - -# Browser go forward and back (works only for Xorg, and Xwayland clients) -gesture swipe left 3 ydotool key alt+Right -gesture swipe right 3 ydotool key alt+Left - -# NOTE: If you don't use "natural" scrolling direction for your touchpad -# then you may want to swap the above default left/right and up/down -# configurations. - -# Optional extended swipe gestures, e.g. for browser tab navigation: -# -# Jump to next open browser tab -# gesture swipe right_up xdotool key control+Tab -# -# Jump to previous open browser tab -# gesture swipe left_up xdotool key control+shift+Tab -# -# Close current browser tab -# gesture swipe left_down xdotool key control+w -# -# Reopen and jump to last closed browser tab -# gesture swipe right_down xdotool key control+shift+t - -# Example of 8 static workspaces, e.g. using KDE virtual-desktops, -# arranged in 2 rows of 4 columns across using swipe up/down/left/right -# to navigate in fixed planes. You can also add the "-w/--wrap" option -# to allow wrapping in any direction. You must configure your virtual -# desktops with the same column dimension. -# gesture swipe up _internal --cols 4 ws_up -# gesture swipe down _internal --cols 4 ws_down -# gesture swipe left _internal --cols 4 ws_left -# gesture swipe right _internal --cols 4 ws_right -# -# Example of 16 static workspaces, e.g. using KDE virtual-desktops, -# arranged in 4 rows of 4 columns across using swipe up/down/left/right -# to navigate in fixed planes, and also using swipe -# left_up/left_down/right_up/right_down to navigate diagonally. You can -# also add the "-w/--wrap" option to allow wrapping in any direction -# and/or diagonally. You must configure your virtual desktops with the -# same column dimension. -# gesture swipe up _internal --cols 4 ws_up -# gesture swipe down _internal --cols 4 ws_down -# gesture swipe left _internal --cols 4 ws_left -# gesture swipe right _internal --cols 4 ws_right -# gesture swipe left_up _internal --cols 4 ws_left_up -# gesture swipe left_down _internal --cols 4 ws_left_down -# gesture swipe right_up _internal --cols 4 ws_right_up -# gesture swipe right_down _internal --cols 4 ws_right_down - -# Example virtual desktop switching for Ubuntu Unity/Compiz. The -# _internal command does not work for Compiz but you can explicitly -# configure the swipe commands to work for a Compiz virtual 2 -# dimensional desktop as follows: -# gesture swipe up xdotool key ctrl+alt+Up -# gesture swipe down xdotool key ctrl+alt+Down -# gesture swipe left xdotool key ctrl+alt+Left -# gesture swipe right xdotool key ctrl+alt+Right +# Invalid lines -############################################################################### -# PINCH GESTURES: -############################################################################### +# Unsupported lines -# GNOME SHELL open/close overview (works for GNOME on Xorg only) -#gesture pinch in xdotool key super+s -#gesture pinch out xdotool key super+s +# Swipe threshold (0-100) +swipe_threshold 0 - -# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg) -# Note since GNOME 3.24 on Wayland this is implemented natively so no -# real point configuring for Wayland. -# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' -# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();' - -# Example to change audio volume: -# Note this only works on an Xorg desktop (not Wayland). -# gesture swipe up xdotool key XF86AudioRaiseVolume -# gesture swipe down xdotool key XF86AudioLowerVolume - -# Optional extended pinch gestures: -gesture pinch clockwise xdotool key XF86AudioRaiseVolume -gesture pinch anticlockwise xdotool key XF86AudioLowerVolume - -############################################################################### -# This application normally determines your touchpad device -# automatically. Some users may have multiple touchpads but by default -# we use only the first one found. However, you can choose to specify -# the explicit device name to use. Run "libinput list-devices" to work -# out the name of your device (from the "Device:" field). Then add a -# device line specifying that name, e.g: -# -# device DLL0665:01 06CB:76AD Touchpad -# -# If the device name starts with a '/' then it is instead considered as -# the explicit device path although since device paths can change -# through reboots this is best to be a symlink. E.g. instead of specifying -# /dev/input/event12, you should use the corresponding full path link -# under /dev/input/by-path/ or /dev/input/by-id/. -# -# You can choose to use ALL touchpad devices by setting the device name -# to "all". E.g. Do this if you have multiple touchpads which you want -# to use in parallel. This reduces performance slightly so only set this -# if you have to. -# -# device all - -############################################################################### -# You can set a minimum travel distance threshold before swipe gestures -# are actioned using the swipe_threshold configuration command. -# Specify this value in dots. The default is 0. -# E.g. set it to 100 dots with "swipe_threshold 100". -# swipe_threshold 0 - -############################################################################### -# You can set a timeout on gestures from start to end. The default is -# the value commented below. It can be any value in float secs >= 0. -# 0 = no timeout. E.g. set it to 2 secs with "timeout 2". -# timeout 1.5 +# Gestures +gesture swipe up 3 ydotool key ctrl+F10 +gesture swipe down 3 ydotool key ctrl+F10 +gesture swipe up 4 _internal ws_up +gesture swipe down 4 _internal ws_down +gesture swipe left 4 _internal ws_left +gesture swipe right 4 _internal ws_right +gesture swipe left 3 ydotool key alt+Right +gesture swipe right 3 ydotool key alt+Left +gesture pinch clockwise 4 xdotool key XF86AudioRaiseVolume +gesture pinch anticlockwise 4 xdotool key XF86AudioLowerVolume \ No newline at end of file diff --git a/picom.conf b/picom.conf index 844a663..4a21069 100644 --- a/picom.conf +++ b/picom.conf @@ -21,16 +21,16 @@ round-borders-exclude = [ shadow = true; # The blur radius for shadows, in pixels. (defaults to 12) -shadow-radius = 28; +shadow-radius = 48; # The opacity of shadows. (0.0 - 1.0, defaults to 0.75) -shadow-opacity = .55; +shadow-opacity = .99; # The left offset for shadows, in pixels. (defaults to -15) -shadow-offset-x = -12; +shadow-offset-x = -30; # The top offset for shadows, in pixels. (defaults to -15) -shadow-offset-y = -12; +shadow-offset-y = -30; # Avoid drawing shadows on dock/panel windows. This option is deprecated, # you should use the *wintypes* option in your config file instead. @@ -234,8 +234,8 @@ blur: { # requires: https://github.com/ibhagwan/picom method = "dual_kawase"; #method = "kernel"; - strength = 11; - deviation = 1.0; + strength = 17; + deviation = 4.0; # kernel = "11x11gaussian"; background = false; background-frame = false; @@ -319,7 +319,7 @@ use-ewmh-active-win = true; # 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; +unredir-if-possible = true; # Delay before unredirecting the window, in milliseconds. Defaults to 0. # unredir-if-possible-delay = 0 @@ -351,7 +351,7 @@ detect-client-leader = true; # 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 +resize-damage = 1 # Specify a list of conditions of windows that should be painted with inverted color. # Resource-hogging, and is not well tested. @@ -468,8 +468,8 @@ log-level = "info"; # wintypes: { - normal = { fade = false; shadow = true; } - tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; + normal = { fade = false; shadow = true; full-shadow = false; } + tooltip = { fade = false; shadow = true; opacity = 0.75; focus = true; full-shadow = false; }; dock = { shadow = true; } dnd = { shadow = false; } popup_menu = { opacity = 0.8; } diff --git a/river/init b/river/init index 022a8c8..fd7bdcc 100755 --- a/river/init +++ b/river/init @@ -16,7 +16,7 @@ riverctl map normal $mod E spawn "emacsclient -c -a 'emacs'" riverctl map normal $mod B spawn qutebrowser riverctl map normal None Menu spawn "rofi -no-lazy-grab -show drun -modi drun" riverctl map normal $mod Menu spawn "rofi -no-lazy-grab -show run -modi run" -riverctl map normal $mod P spawn rofipass +riverctl map normal $mod P spawn rofi-rbw riverctl map normal $mod+Control M spawn "makoctl dismiss -a" @@ -191,7 +191,8 @@ riverctl spawn mako riverctl spawn rbw-agent # Turn on Waybar -riverctl spawn waybar +riverctl spawn 'export XDG_CURRENT_DESKTOP="Unity"' +riverctl spawn 'waybar' riverctl spawn 'swaybg -i /usr/share/wallpapers/Flow/contents/images/5120x2880.jpg -m fill' riverctl spawn 'export QT_QPA_PLATFORMTHEME="qt5ct"' @@ -199,19 +200,20 @@ riverctl spawn 'export QT_QPA_PLATFORMTHEME="qt5ct"' # Use kile as my layout generator allows me to create really unique layouts # with an s-expression syntax riverctl spawn kile -riverctl output-layout kile +riverctl default-layout kile +# riverctl output-layout kile read -r -d '' DECK < "$radarloc" ;} + +getdoppler() { + loc="$(cat "$radarloc")" + notify-send "🌦️ Doppler RADAR" "Pulling most recent Doppler RADAR for $loc." + curl -sL "https://radar.weather.gov/ridge/lite/${loc}_loop.gif" > "$doppler" ;} + +showdoppler() { setsid -f mpv --no-osc --loop=inf --no-terminal "$doppler" ;} + +case $BLOCK_BUTTON in + 1) [ ! -f "$radarloc" ] && pickloc && getdoppler + [ $(($(date '+%s') - $(stat -c %Y "$doppler"))) -gt "$secs" ] && getdoppler + showdoppler ;; + 2) pickloc && getdoppler && showdoppler ;; + 3) notify-send "πŸ—ΊοΈ Doppler RADAR module" "\- Left click for local Doppler RADAR. +- Middle click to update change RADAR location. +After $secs seconds, new clicks will also automatically update the doppler RADAR." ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +echo πŸ—ΊοΈ \ No newline at end of file diff --git a/scripts/filesearch b/scripts/filesearch index f19f81b..b5290de 100755 --- a/scripts/filesearch +++ b/scripts/filesearch @@ -1,8 +1,12 @@ #!/bin/sh if [ $(hostname) = "syl" ]; then - style="laptop" - #echo "this is hidpi" + if [ $WAYLAND_DISPLAY = "wayland-0" ]; then + style="desktop" + else + style="laptop" + #echo "this is hidpi" + fi else style="desktop" #echo "this is not hidpi" diff --git a/scripts/fm6000 b/scripts/fm6000 index 2fd96cc..55fdef2 100755 --- a/scripts/fm6000 +++ b/scripts/fm6000 @@ -44,11 +44,13 @@ sub get_de { my $de = $ENV{XDG_CURRENT_DESKTOP}; unless ($de) { $de = $ENV{XDG_SESSION_DESKTOP} }; unless ($de) { $de = $ENV{DESKTOP_SESSION} }; - return $de; + # return $de; + return "river"; } sub shell { - return (split '/', $ENV{SHELL})[-1]; + # return (split '/', $ENV{SHELL})[-1]; + return "fish"; } sub kernel { diff --git a/scripts/mem-plasma.3s.sh b/scripts/mem-plasma.3s.sh new file mode 100755 index 0000000..1be2eca --- /dev/null +++ b/scripts/mem-plasma.3s.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Get the percentage of used memory and print it +read used total <<< $(free -m | awk '/Mem/{printf $2" "$3}') + +percent=$(bc -l <<< "100 * $total / $used") + +mem=$(awk -v u=$used -v t=$total -v p=$percent 'BEGIN {printf "%sMi/%sMi %.1f% ", t, u, p}'| awk '{printf $2}') + + +echo " $mem | color=#ff9f43" diff --git a/scripts/muunread-plasma.2s.sh b/scripts/muunread-plasma.2s.sh new file mode 100755 index 0000000..727527e --- /dev/null +++ b/scripts/muunread-plasma.2s.sh @@ -0,0 +1,4 @@ +#!/bin/sh +muunread="$(mu find flag:unread AND NOT flag:trashed AND NOT maildir:\"/outlook/Junk\" AND NOT maildir:\"/office/Junk Email\" AND NOT maildir:\"/outlook/Deleted\" AND NOT maildir:\"/office/Deleted Items\" | wc -l)" + +echo "ο›­ $muunread | color=#f3f99d" diff --git a/scripts/rbw-rofi b/scripts/rbw-rofi deleted file mode 100755 index 14460f3..0000000 --- a/scripts/rbw-rofi +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -set -eu -set -o pipefail - -rbw ls --fields folder,name,user | sed 's/\t/\//g' | sort | rofi -dmenu | sed 's/^[^\/]*\///' | sed 's/\// /' | xargs -r rbw get | xclip -l 1 \ No newline at end of file diff --git a/scripts/rofi-rbw b/scripts/rofi-rbw index ac12837..8601367 100755 --- a/scripts/rofi-rbw +++ b/scripts/rofi-rbw @@ -11,48 +11,48 @@ list_passwords() { } prompt='search for passwords...' -SECRET=$(list_passwords | rofi -i -p="${prompt}" -dmenu) +SECRET=$(list_passwords | rofi -i -p="${prompt}" -dmenu --no-lazy-grab) # Ask whether pass, user or both are required -options=("Password" \ - "User" \ - "User and password" \ - "QR-Code" \ - "OTP") +# options=("Password" \ + # "User" \ + # "User and password" \ + # "QR-Code" \ + # "OTP") -option=$(printf '%s\n' "${options[@]%}" | rofi -i -dmenu -width 400 -lines 4 -prompt="...") +# option=$(printf '%s\n' "${options[@]%}" | rofi -i -dmenu -width 400 -lines 4 -prompt="...") -echo $option +# echo $option -case ${option} in - Password ) - echo "${SECRET}" - xdotool type $(rbw get "${SECRET}") - ;; - User ) - xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') - ;; - "User and password" ) - xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') - xdotool key Tab - xdotool type $(rbw get "${SECRET}") - ;; - "QR-Code" ) - if [[ $SECRET =~ wifi$ ]]; then - # Produce a valid wifi QR-code - WIFISSID=$(pass get_user ${SECRET}) - WIFIPASS=$(pass get_pass ${SECRET}) - WIFIQR="WIFI:T:WPA;S:${WIFISSID};P:${WIFIPASS};;" - qrencode -s 8 -o - $WIFIQR | feh --title "pass: QR-WIFI" - - else - # Only password - pass show -q1 ${SECRET} - fi - ;; - "OTP" ) - xdotool type $(rbw code ${SECRET}) - ;; -esac +# case ${option} in +# Password ) +# echo "${SECRET}" +# xdotool type $(rbw get "${SECRET}") +# ;; +# User ) +# xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') +# ;; +# "User and password" ) +# xdotool type $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') +# xdotool key Tab +# xdotool type $(rbw get "${SECRET}") +# ;; +# "QR-Code" ) +# if [[ $SECRET =~ wifi$ ]]; then +# # Produce a valid wifi QR-code +# WIFISSID=$(pass get_user ${SECRET}) +# WIFIPASS=$(pass get_pass ${SECRET}) +# WIFIQR="WIFI:T:WPA;S:${WIFISSID};P:${WIFIPASS};;" +# qrencode -s 8 -o - $WIFIQR | feh --title "pass: QR-WIFI" - +# else +# # Only password +# pass show -q1 ${SECRET} +# fi +# ;; +# "OTP" ) +# xdotool type $(rbw code ${SECRET}) +# ;; +# esac -# wl-copy -o -s ${seat} ${PASSWD_PASS} +# # wl-copy -o -s ${seat} ${PASSWD_PASS} diff --git a/scripts/wlrofi-rbw b/scripts/wlrofi-rbw new file mode 100755 index 0000000..95beb9b --- /dev/null +++ b/scripts/wlrofi-rbw @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# Very basic interface for rbw using rofi + +# Get all password files and create an array +CACHE=~/.local/tmp/pass_rofi +seat=seat0 + +list_passwords() { + rbw list +} + +prompt='search for passwords...' +SECRET=$(list_passwords | rofi -i -p="${prompt}" -dmenu) + +# Ask whether pass, user or both are required +options=("Password" \ + "User" \ + "User and password" \ + "QR-Code" \ + "OTP") + +option=$(printf '%s\n' "${options[@]%}" | rofi -i -dmenu -width 400 -lines 4 -prompt="...") + +# echo $option + +case ${option} in + Password ) + # echo "${SECRET}" + wtype $(rbw get "${SECRET}") + ;; + User ) + wtype $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') + ;; + "User and password" ) + wtype $(rbw get --full "${SECRET}" | rg Username: | awk '{$1 = ""; print $0}') + wtype -k TAB + wtype $(rbw get "${SECRET}") + ;; + "QR-Code" ) + if [[ $SECRET =~ wifi$ ]]; then + # Produce a valid wifi QR-code + WIFISSID=$(pass get_user ${SECRET}) + WIFIPASS=$(pass get_pass ${SECRET}) + WIFIQR="WIFI:T:WPA;S:${WIFISSID};P:${WIFIPASS};;" + qrencode -s 8 -o - $WIFIQR | feh --title "pass: QR-WIFI" - + else + # Only password + pass show -q1 ${SECRET} + fi + ;; + "OTP" ) + wtype $(rbw code ${SECRET}) + ;; +esac + +# wl-copy -o -s ${seat} ${PASSWD_PASS} diff --git a/sway/config b/sway/config index 4b195fd..1380983 100644 --- a/sway/config +++ b/sway/config @@ -74,11 +74,12 @@ titlebar_border_thickness 1 # Start your launcher bindsym Menu exec $menu + bindsym $mod+Shift+Menu exec wofi --show drun bindsym $mod+Menu exec rofi -no-lazy-grab -show run -modi run | xargs swaymsg exec -- bindsym $mod+s exec filesearch #Pass - bindsym $mod+p exec rofipass + bindsym $mod+p exec wlrofi-rbw # Screenshot bindsym Print exec grim -g "${slurp}" - | wl-copy @@ -233,8 +234,9 @@ bindsym $mod+Ctrl+m exec makoctl dismiss -a mode "$mode_launcher" { bindsym e exec emacsclient -c -a emacs & bindsym b exec qutebrowser - bindsym a exec emacsclient -c -e '(org-agenda)' + bindsym a exec emacsclient -c -e '(chris/org-agenda)' bindsym m exec emacsclient -c -e '(mu4e)' + bindsym Shift+d exec dolphin bindsym Return mode "default" bindsym Escape mode "default" } @@ -253,9 +255,10 @@ for_window [app_id="mpv"] floating enable for_window [app_id="imv"] floating enable for_window [app_id="dolphin"] floating enable for_window [app_id="pulsemixer"] floating enable +for_window [class="\*Org Agenda(a)\*"] floating enable for_window [app_id="qutebrowser"] move container to workspace number 2 for_window [app_id="qutebrowser"] opacity 1 -for_window [app_id="emacs"] opacity 0.95 +for_window [app_id="emacs"] opacity 0.90 for_window [app_id="__focused__"] opacity 1 exec emacs --daemon diff --git a/systemd/user/lolcate-update.service b/systemd/user/lolcate-update.service new file mode 100644 index 0000000..dd98926 --- /dev/null +++ b/systemd/user/lolcate-update.service @@ -0,0 +1,8 @@ +[Unit] +Description=lolcate updater + +[Service] +ExecStart=lolcate --update + +[Install] +WantedBy=default.target \ No newline at end of file diff --git a/systemd/user/lolcate-update.timer b/systemd/user/lolcate-update.timer new file mode 100644 index 0000000..8f9fb5f --- /dev/null +++ b/systemd/user/lolcate-update.timer @@ -0,0 +1,10 @@ + +[Unit] +Description=run lolcate updater every 20min + +[Timer] +OnBootSec=1min +OnUnitActiveSec=20min + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/waybar/config b/waybar/config index 96b6953..557e8c4 100644 --- a/waybar/config +++ b/waybar/config @@ -1,32 +1,34 @@ { // "layer": "top", // Waybar at top layer "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 25, // Waybar height (to be removed for auto height) + "height": 35, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width // Choose the order of the modules - "modules-left": ["sway/workspaces", "river/tags", "sway/mode", "sway/window"], + "modules-left": ["sway/workspaces", "sway/mode", "sway/window"], "modules-center": ["clock"], "modules-right": ["pulseaudio", "network", "cpu", "memory", "battery", "battery#bat2", "tray"], - "margin-top": 5, + // "margin-top": -10, "margin-bottom": 10, + "margin-left": 29, + "margin-right": 29, // Modules configuration "sway/workspaces": { "disable-scroll": true, "all-outputs": true, "format": "{icon}", "format-icons": { - "1": "ο„ ", - "2": "", - "3": "", - "4": "ο„‘", - "5": "ο†Ό", - "urgent": "οͺ", - "focused": "ο†’", - "default": "ο„‘" + "1": "ο„  ", + "2": " ", + "3": " ", + "4": "ο„‘ ", + "5": "ο†Ό ", + "urgent": "οͺ ", + "focused": "ο†’ ", + "default": "ο„‘ " } }, "river/tags": { - "num-tags": 5 + "num-tags": 8 }, "sway/mode": { "format": " {}" @@ -49,11 +51,11 @@ "format": "{:%a %b %e, %l:%M %p}" }, "cpu": { - "format": "{usage}% ", + "format": " {usage}%", "tooltip": false }, "memory": { - "format": "{}% ο‹›" + "format": "ο‹› {}%" }, "temperature": { // "thermal-zone": 2, @@ -65,7 +67,7 @@ }, "backlight": { // "device": "acpi_video1", - "format": "{percent}% {icon}", + "format": "{icon} {percent}%", "format-icons": ["ο†…", "ο„‘"] }, "battery": { @@ -74,13 +76,13 @@ "warning": 30, "critical": 15 }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ο—§", - "format-plugged": "{capacity}% ", + "format": "{icon} {capacity}%", + "format-charging": "ο—§ {capacity}%", + "format-plugged": " {capacity}%", "format-alt": "{time} {icon}", // "format-good": "", // An empty format will hide the module // "format-full": "", - "format-icons": ["", "", "", "", ""] + "format-icons": [" ", " ", " ", " ", " "] }, "battery#bat2": { "bat": "BAT2", @@ -89,29 +91,29 @@ "warning": 30, "critical": 15 }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ο—§", - "format-plugged": "{capacity}% ", + "format": "{icon} {capacity}%", + "format-charging": "ο—§ {capacity}%", + "format-plugged": " {capacity}%", "format-alt": "{time} {icon}", // "format-good": "", // An empty format will hide the module // "format-full": "", - "format-icons": ["", "", "", "", ""] + "format-icons": [" ", " ", " ", " ", " "] }, "network": { // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr} ο›Ώ", + "format-wifi": " {essid} ({signalStrength}%)", + "format-ethernet": "ο›Ώ {ipaddr}", "format-linked": "{ifname} (No IP) οž–", "format-disconnected": "Disconnected ⚠", "format-alt": "{ifname}: {ipaddr}/{cidr}" }, "pulseaudio": { // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon}οŠ” {format_source}", + "format": "{icon} {volume}% {format_source}", + "format-bluetooth": "{icon}οŠ” {volume}% {format_source}", "format-bluetooth-muted": " {icon}οŠ” {format_source}", "format-muted": " {format_source}", - "format-source": "{volume}% ο„°", + "format-source": "ο„° {volume}%", "format-source-muted": "ο„±", "format-icons": { "headphone": "ο€₯", @@ -137,7 +139,7 @@ // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name }, "wlr/taskbar": { - "format": "{icon} {title}", + "format": "{icon} {title}", "icon-size": 20, "icon-theme": "Papirus-Dark", "tooltip-format": "{title}", @@ -146,7 +148,7 @@ "on-click-middle": "close" }, "sway/window": { - "format": " {} ", + "format": " {} ", "max-length": 60, } } diff --git a/waybar/style.css b/waybar/style.css index fbb7052..e47003c 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -20,7 +20,7 @@ border: none; border-radius: 0; font-family: VictorMono Nerd Font; - font-size: 12px; + font-size: 15px; font-weight: normal; box-shadow: none; text-shadow: none; @@ -32,11 +32,12 @@ window { color: @base05; - background: @basetransparent; + background: @base00; + border-radius: 20px; } window#waybar.solo { - background: @basetransparent; + background: @base00; } #workspaces {