diff --git a/config/betterlockscreenrc b/config/betterlockscreenrc new file mode 100644 index 0000000..7353df6 --- /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" +# i3lockcolor_bin="i3lock-color" # Manually set command for i3lock-color + +# default theme +loginbox=00000066 +loginshadow=00000000 +locktext="Type password to unlock" +font="Roboto mono" +ringcolor=ffffffff +insidecolor=00000000 +separatorcolor=00000000 +ringvercolor=ffffffff +insidevercolor=ffcb6bff +ringwrongcolor=ffffffff +insidewrongcolor=f07178ff +timecolor=ffffffff +time_format="%H:%M:%S" +greetercolor=ffffffff +layoutcolor=ffffffff +keyhlcolor=f07178ff +bshlcolor=f07178ff +verifcolor=ffffffff +wrongcolor=f07178ff +modifcolor=f07178ff +bgcolor=000000ff \ No newline at end of file diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc index 4bd522f..2536919 100644 --- a/config/dunst/dunstrc +++ b/config/dunst/dunstrc @@ -24,7 +24,7 @@ # dynamic width from 0 to 300 # width = (0, 300) # constant width of 300 - width = 300 + width = (300,400) # The maximum height of a single notification, excluding the frame. height = 300 @@ -90,7 +90,7 @@ ### Text ### - font = Open sans 12 + font = Roboto mono 12 # The spacing between lines. If the height is smaller than the # font height, it will get raised to the font height. @@ -431,4 +431,4 @@ # appname = "some_volume_notifiers" # set_stack_tag = "volume" # -# vim: ft=cfg +# vim: ft=cfg \ No newline at end of file diff --git a/config/gtk-3.0/settings.ini b/config/gtk-3.0/settings.ini index 4d66d32..6964327 100644 --- a/config/gtk-3.0/settings.ini +++ b/config/gtk-3.0/settings.ini @@ -1,5 +1,5 @@ [Settings] gtk-icon-theme-name = Papirus gtk-theme-name = Dracula -gtk-font-name = Open Sans 12 +gtk-font-name = Roboto mono 12 gtk-application-prefer-dark-theme = true \ No newline at end of file diff --git a/config/i3/config b/config/i3/config index f33602e..5ae8366 100644 --- a/config/i3/config +++ b/config/i3/config @@ -5,17 +5,20 @@ set $mod Mod4 # set font -font pango:Source Code Pro 10 +font pango:Roboto mono 11 ### Runnig apps in background ### # run picom exec_always --no-startup-id picom & +# render wallpaper for lockscreen +exec_always betterlockscreen -u ~/Pictures/wallpapers/lockscreen.png --display 1 --span & + # run mpd exec_always --no-startup-id mpd & -#r un dunst +# run dunst exec_always --no-startup-id dunst & # set wallpaper with fed @@ -86,6 +89,15 @@ bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle +# run lockscreen +bindsym $mod+o exec betterlockscreen -l + +# monitor settings +bindsym $mod+n exec xrandr --auto --output eDP-1 --mode 1920x1080 --right-of HDMI-1 && i3-msg restart & +bindsym $mod+m exec xrandr --auto --output HDMI-1 --off && i3-msg restart & + +bindsym $mod+b move workspace to output right + # focus the parent container #bindsym $mod+a focus parent @@ -98,10 +110,10 @@ bindsym $mod+d exec "rofi -show drun -no-default-config -config ~/.config/rofi/c bindsym $mod+s exec "rofi -show drun -no-default-config -config ~/.config/rofi/compact.rasi" bindsym $mod+z exec "rofi -show  -modi ':rofi-bookmarks' -no-default-config -config ~/.config/rofi/compact.rasi" bindsym $mod+x exec "theme" -bindsym $mod+c exec "rofi-screenshot" +bindsym Pause exec "rofi-screenshot" # take a screenshot -bindsym --release Print exec scrot 'screenshot_%Y%m%d_%H%M%S.png' -e 'mkdir -p ~/Pictures/screenshots && mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/`ls -1 -t ~/Pictures/screenshots | head -1`' +bindsym Print exec screenshot -cstf # brightness control exec_always --no-startup-id light -I @@ -121,7 +133,7 @@ bindsym XF86ScreenSaver exec xset dpms force off bindsym ctrl + F1 exec --no-startup-id kitty bindsym ctrl + F2 exec --no-startup-id dmenu_run -# toggle microphone +# toggle microphone bindsym ctrl + F3 exec amixer set Capture cap && dunstify -a "Microphone" "Microphone is now unmuted" -r 100 -i /usr/local/bin/icons/mic.svg bindsym ctrl + F4 exec amixer set Capture nocap && dunstify -a "Microphone" "Microphone is now muted" -r 100 -i /usr/local/bin/icons/mic-off.svg diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf index 0c85448..52b5bb7 100644 --- a/config/kitty/kitty.conf +++ b/config/kitty/kitty.conf @@ -2,7 +2,7 @@ # Config created by Key https://www.github.com/keyitdev/dotfiles font_size 11.0 -font_family Source Code Pro +font_family Roboto mono window_margin_width 5 adjust_line_height 0 diff --git a/config/ncmpcpp/config b/config/ncmpcpp/config index 1c0c6af..e056624 100644 --- a/config/ncmpcpp/config +++ b/config/ncmpcpp/config @@ -64,3 +64,4 @@ selected_item_prefix = $(white)$b selected_item_suffix = $/b$(end) browser_playlist_prefix = "$2Playlist$9 " modified_item_prefix = ">> " +execute_on_song_change = notify-send "Now Playing" "$(mpc current)" \ No newline at end of file diff --git a/config/picom/picom.conf b/config/picom/picom.conf index d084d4a..14f667c 100644 --- a/config/picom/picom.conf +++ b/config/picom/picom.conf @@ -1,261 +1,14 @@ -################################# -# 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.015; - -# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) -# fade-out-step = 0.03 fade-out-step = 0.1; - -# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) fade-delta = 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 - -################################# -# 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; +experimental-backends = false; 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 +vsync = false 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 - -# 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 = { full-shadow = true; }; - menu = { full-shadow = true; }; - tooltip = { fade = true; shadow = false; focus = true;}; - dock = { shadow = false; }; - dnd = { shadow = false; }; - popup_menu = { full-shadow = true; }; - utility = { full-shadow = true; }; - toolbar = { full-shadow = true; }; - notification = { opacity = 1; } -}; - +log-level = "debug"; \ No newline at end of file diff --git a/scripts/rofi-screenshot b/scripts/rofi-screenshot index c22edb9..1a3a75b 100755 --- a/scripts/rofi-screenshot +++ b/scripts/rofi-screenshot @@ -4,19 +4,19 @@ THEME="$HOME/.config/rofi/compact_without_icons.rasi" get_options() { - # echo " Capture Region  Clip" - # echo " Capture Region  File" - # echo " Capture Screen  Clip" - # echo " Capture Screen  File" - echo " Record Region (GIF)" - echo " Record Screen (GIF)" - echo " Record Region (MP4)" - echo " Record Screen (MP4)" - echo " Record Region (MP4+audio_virt)" - echo " Record Region (MP4+audio_mic)" - echo " Record Audio virt" - echo " Record Audio mic" - echo " Stop Recording" + echo " Capture Region" + echo " Capture Region (without saving)" + echo " Capture Screen" + echo " Capture Screen (without saving)" + echo " Record Region (GIF)" + echo " Record Screen (GIF)" + echo " Record Region (MP4)" + echo " Record Screen (MP4)" + #echo " Record Region (MP4+audio_virt)" + #echo " Record Region (MP4+audio_mic)" + #echo " Record Audio virt" + #echo " Record Audio mic" + echo " Stop Recording" } main() { @@ -31,43 +31,43 @@ main() { # run the selected command case $choice in - ' Capture Region  Clip') + ' Capture Region (without saving)') screenshot -crtc ;; - ' Capture Region  File') + ' Capture Region') screenshot -crtf ;; - ' Capture Screen  Clip') + ' Capture Screen (without saving)') screenshot -cstc ;; - ' Capture Screen  File') + ' Capture Screen') screenshot -cstf ;; - ' Record Region (GIF)') + ' Record Region (GIF)') screenshot -rrg ;; - ' Record Screen (GIF)') + ' Record Screen (GIF)') screenshot -rsg ;; - ' Record Region (MP4)') + ' Record Region (MP4)') screenshot -rrv ;; - ' Record Screen (MP4)') + ' Record Screen (MP4)') screenshot -rsv ;; - ' Record Region (MP4+audio_virt)') + ' Record Region (MP4+audio_virt)') screenshot -rrav ;; - ' Record Region (MP4+audio_mic)') + ' Record Region (MP4+audio_mic)') screenshot -rrmv ;; - ' Record Audio virt') + ' Record Audio virt') screenshot -rav ;; - ' Record Audio mic') + ' Record Audio mic') screenshot -ram ;; - ' Stop Recording') + ' Stop Recording') screenshot -s ;; esac diff --git a/scripts/screenshot b/scripts/screenshot index d4aafa6..08458e6 100755 --- a/scripts/screenshot +++ b/scripts/screenshot @@ -33,11 +33,12 @@ crtc() { notify-send "Screenshot" "Region copied to Clipboard" } -# capture region to file +# capture region to file and clipboard crtf() { notify-send "Screenshot" "Select a region to capture" dt=$(date '+%d-%m-%Y %H:%M:%S') ffcast -q $(slop -n -f '-g %g ') png "$screenshot_directory/$dt.png" + xclip -selection clipboard -t image/png "$screenshot_directory/$dt.png" notify-send "Screenshot" "Region saved to $screenshot_directory" } @@ -49,10 +50,11 @@ cstc() { notify-send "Screenshot" "Screenshot copied to Clipboard" } -# capture screenshot to file +# capture screenshot to file and clipboard cstf() { dt=$(date '+%d-%m-%Y %H:%M:%S') ffcast -q png "$screenshot_directory/$dt.png" + xclip -selection clipboard -t image/png "$screenshot_directory/$dt.png" notify-send "Screenshot" "Screenshot saved to $screenshot_directory" } @@ -154,11 +156,11 @@ usage() { echo -crtc echo " Capture region to clipboard." echo -crtf - echo " Capture screen to file" + echo " Capture screen to file and clipboard" echo -cstc echo " Capture screen to clipboard." echo -cstf - echo " Capture screen to file" + echo " Capture screen to file and clipboard" echo -rrg echo " Record (GIF) region." echo -rsg