diff --git a/.Xresources b/.Xresources new file mode 100644 index 0000000..ea5b682 --- /dev/null +++ b/.Xresources @@ -0,0 +1,80 @@ +*.foreground: #ABB2BF +*.background: #1E2127 +*.cursorColor: #5C6370 +*.highlightColor:#3A3F4B + +!*fading: 40 +!*fadeColor: S_base03 +!*pointerColorBackground: S_base01 +!*pointerColorForeground: S_base1 + +! Normal Bright +! -------- ------- +! 0 Black 8 Black +! 1 Red 9 Red +! 2 Yellow 10 Yellow +! 3 Green 11 Green +! 4 Blue 12 Blue +! 5 Magenta 13 Magenta +! 6 Cyan 14 Cyan +! 7 White 15 White + +! Black colours +*.color0: #1E2127 +*.color8: #5C6370 +! Red colours +*.color1: #E06C75 +*.color9: #E06C75 +! Yellow colours +*.color2: #98C379 +*.color10: #98C379 +! Green colours +*.color3: #D19A66 +*.color11: #D19A66 +! Blue colours +*.color4: #61AFEF +*.color12: #61AFEF +! Magenta (pink, !green) colours +*.color5: #C678DD +*.color13: #C678DD +! Cyan (blue + green) +*.color6: #56B6C2 +*.color14: #56B6C2 +! White colours +*.color7: #ABB2BF +*.color15: #FFFFFF + +! xterm.vt100.faceName: Terminus:style=Regular:size=10 +! xterm.vt100.faceNameDoublesize: Cyberbit:style=Regular:size=10 + +XTerm.vt100.bellIsUrgent: true +XTerm.vt100.alternateScroll: true +XTerm.vt100.selectToClipboard: true + +URxvt.scrollBar: false +URxvt.perl-ext-common: default,selection-to-clipboard +URxvt.clipboard.autocopy: true ! sync primary and clipboard buffers +URxvt.secondaryScreen: 1 +URxvt.secondaryScroll: 0 +URxvt.secondaryWheel: 1 +URxvt*urgentOnBell: true +URxvt*scrollTtyOutput: false +URxvt*scrollWithBuffer: true +URxvt*scrollTtyKeypress: true +URxvt.font: xft:Consolas:pixelsize=12, xft:Segoe UI Symbol:style=Regular:pixelsize=12, xft:Unifont:pixelsize=12 +URxvt.letterSpace : -2 ! Put characters slightly closer together +URxvt.termName : rxvt-unicode-256color +!Urxvt*termName: screen-256color +URxvt.iso14755 : false +URxvt.iso14755_52: false + +! transparency in i3 +!URxvt.transparent: true +!URxvt.shading:20 + +Xft.dpi: 96 +Xft.Hinting: 1 +Xft.RGBA: rgb +Xft.HintStyle: hintslight +Xft.Antialias: 1 + diff --git a/.bash_profile b/.bash_profile index a4ec022..f9fdee4 100644 --- a/.bash_profile +++ b/.bash_profile @@ -3,8 +3,15 @@ # [[ -f ~/.bashrc ]] && . ~/.bashrc -#startx + if [ -n "$DESKTOP_SESSION" ];then eval $(gnome-keyring-daemon --start) export SSH_AUTH_SOCK fi + +# Autostart xorg (and thus i3) when logging in +# Keep commented out if you want to use GDM +# or any other display manager to login +#if [[ -z$DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then +# startx +#fi diff --git a/.bashrc b/.bashrc index e74ea80..414d11b 100644 --- a/.bashrc +++ b/.bashrc @@ -3,7 +3,7 @@ # export EDITOR=vim -export PATH=/home/$USER/bin:$PATH +export PATH=/home/$USER/bin:/home/marco/Documents/ddvtech/repo:$PATH export HISTFILESIZE=10000 export HISTCONTROL=erasedups @@ -19,6 +19,25 @@ else export TERM='st' fi +if [ "$TERM" = "linux" ]; then +# echo -en "\e]P0232323" #black + echo -en "\e]P82B2B2B" #darkgrey +# echo -en "\e]P1D75F5F" #darkred +# echo -en "\e]P9E33636" #red +# echo -en "\e]P287AF5F" #darkgreen +# echo -en "\e]PA98E34D" #green +# echo -en "\e]P3D7AF87" #brown +# echo -en "\e]PBFFD75F" #yellow +# echo -en "\e]P48787AF" #darkblue +# echo -en "\e]PC7373C9" #blue +# echo -en "\e]P5BD53A5" #darkmagenta +# echo -en "\e]PDD633B2" #magenta +# echo -en "\e]P65FAFAF" #darkcyan +# echo -en "\e]PE44C9C9" #cyan +# echo -en "\e]P7E5E5E5" #lightgrey +# echo -en "\e]PFFFFFFF" #white + clear #for background artifacting +fi # # If not running interactively, don't do anything diff --git a/.config/gtk-3.0/gtk.css b/.config/gtk-3.0/gtk.css new file mode 100644 index 0000000..37a48b4 --- /dev/null +++ b/.config/gtk-3.0/gtk.css @@ -0,0 +1,191 @@ +/* Custom styles */ + +/* select-on */ +@define-color selected_bg_color #364a82; +@define-color selected_fg_color #c0caf5; +@define-color theme_selected_bg_color @selected_bg_color; +@define-color theme_selected_fg_color @selected_fg_color; +/* select-on */ + +/* panel-on */ +@define-color panel_bg_color #414868; +@define-color panel_fg_color #c0caf5; + +PanelWidget, +PanelApplet, +PanelToplevel, +PanelSeparator, +PanelApplet > GtkMenuBar.menubar, +PanelApplet > GtkMenuBar.menubar.menuitem, +PanelMenuBar.menubar, +PanelMenuBar.menubar.menuitem, +PanelAppletFrame, +UnityPanelWidget, +.gnome-panel-menu-bar, +.unity-panel { + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,0.8))); + color: @panel_fg_color; +} + +.unity-panel.menuitem, +.unity-panel .menuitem { + color: @panel_fg_color; +} + +.unity-panel.menubar.menuitem:hover, +.unity-panel.menubar .menuitem *:hover { + border-color: shade(@panel_bg_color, 0.7); + border-image: none; + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color, 0.97)),to(shade(@panel_bg_color, 0.82))); + color: @panel_fg_color; +} + +PanelApplet .button { + border-color: transparent; + border-image: none; + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,0.8))); + color: @panel_fg_color; + box-shadow: none; + text-shadow: none; + -unico-inner-stroke-width: 0; +} + +PanelApplet .button:active { + border-color: shade(@panel_bg_color,0.8); + border-image: none; + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(shade(@panel_bg_color,1.02),0.9)),to(shade(shade(@panel_bg_color,1.02),0.95))); + color: @panel_fg_color; + box-shadow: none; + text-shadow: none; + -unico-inner-stroke-width: 0; +} + +PanelApplet .button:prelight { + border-color: transparent; + border-image: none; + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(@panel_bg_color,1.2)),to(shade(@panel_bg_color,1.0))); + color: @panel_fg_color; + box-shadow: none; + text-shadow: none; + -unico-inner-stroke-width: 0; +} + +PanelApplet .button:active:prelight { + border-color: shade(@panel_bg_color,0.8); + border-image: none; + background-image: -gtk-gradient(linear,left top,left bottom,from(shade(shade(@panel_bg_color,1.02),1.0)),to(shade(shade(@panel_bg_color,1.02),1.05))); + color: @panel_fg_color; + box-shadow: none; + text-shadow: none; + -unico-inner-stroke-width: 0; +} + +WnckPager, +WnckTasklist { + background-color: @panel_bg_color; +} + +/* panel-on */ + +/* menu-on */ +@define-color menu_bg_color #1d202f; +@define-color menu_fg_color #c0caf5; + +GtkTreeMenu.menu, +GtkMenuToolButton.menu, +GtkComboBox .menu { + background-color: @menu_bg_color; +} + +.primary-toolbar .button .menu, +.toolbar .menu, +.toolbar .primary-toolbar .menu, +.menu { + border-style: none; + background-image: none; + background-color: @menu_bg_color; + color: @menu_fg_color; + box-shadow: none; + text-shadow: none; + -unico-inner-stroke-width: 0; +} + +.menu.button:hover, +.menu.button:active, +.menu.button:active:insensitive, +.menu.button:insensitive, +.menu.button { + background-color: @menu_bg_color; + background-image: none; +} + +GtkTreeMenu .menuitem * { + color: @menu_fg_color; +} + +.menuitem, +.menu .menuitem { + background-color: transparent; +} + +.menu .menuitem:active, +.menu .menuitem:hover { + background-color: @theme_selected_bg_color; +} + +.menuitem.check, +.menuitem.radio, +.menuitem.check:hover, +.menuitem.radio:hover, +.menuitem.check:active, +.menuitem.radio:active { + background-color: transparent; +} + +.menu .menuitem:insensitive, +.menu .menuitem *:insensitive { + color: mix(@menu_fg_color,@menu_bg_color,0.5); +} + +.menuitem.arrow { + color: alpha(@menu_fg_color, 0.6); +} + +.menuitem .entry { + border-color: shade(@menu_bg_color,0.7); + border-image: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +.menuitem .accelerator { + color: alpha(@menu_fg_color,0.6); +} + +.menuitem .accelerator:insensitive { + color: alpha(mix(@menu_fg_color,@menu_bg_color,0.5),0.6); + text-shadow: none; +} + +.menuitem.separator { + background-color: transparent; + color: shade(@menu_bg_color, 0.9); +} + +.menuitem GtkCalendar, +.menuitem GtkCalendar.button, +.menuitem GtkCalendar.header, +.menuitem GtkCalendar.view { + border-color: shade(@menu_bg_color,0.8); + border-image: none; + background-color: @menu_bg_color; + background-image: none; + color: @menu_fg_color; +} + +.menuitem GtkCalendar:inconsistent { + color: mix(@menu_fg_color,@menu_bg_color,0.5); +} + +/* menu-on */ diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..255445c --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,16 @@ +[Settings] +gtk-application-prefer-dark-theme=0 +gtk-theme-name=UltimateBlack-0.1 +gtk-icon-theme-name=Blueberry-Numix-2021 +gtk-font-name=Cantarell 11 +gtk-cursor-theme-name=volantes_cursors +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..02de40f --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,267 @@ +######### Configuration ######### +### the easy stuff ### + font pango: SF Pro Display 14 + + # Key to do all the things (Mod1=Alt, Mod4=Super/Windows) + set $mod Mod4 + + # Home row direction keys, like vim + set $left h + set $down j + set $up k + set $right l + + # Default Terminal + set $term urxvt + + # Autofocus on hover, also when switching workspaces + focus_follows_mouse yes + + # Borders + # Also removes all title bars + for_window [class="^.*"] border pixel 4 + default_border pixel 4 + + # Floating windows get no borders >:( + default_floating_border pixel 4 + + # Hide borders at the edge of the screen + hide_edge_borders smart + + # Set colours various window states + # Syntax: client. [ []] + # The available classes are: + # client.focused: The window that has focus. + # client.focused_inactive: The most recently focused view within a container which is not focused. + # client.placeholder: Ignored (present for i3 compatibility). + # client.unfocused: A view that does not have focus. + # client.urgent: A view with an urgency hint. Note: Native Wayland windows do not support urgency. Urgency only works for Xwayland windows. + #The meaning of each color is: + # border: The border around the title bar. + # background: The background of the title bar. + # text: The text color of the title bar. + # indicator: The color used to indicate where a new view will open. In a tiled container, this would paint the right border of the current view if a new view would be opened to the right. + # child_border: The border around the view itself. + # The default colors are: + # class border background text indicator child_border + # background n/a #ffffff n/a n/a n/a + # focused #4c7899 #285577 #ffffff #2e9ef4 #285577 + # focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a + # unfocused #333333 #222222 #888888 #292d2e #222222 + # urgent #2f343a #900000 #ffffff #900000 #900000 + # placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c + client.focused #343b58 #343b58 #c0caf5 #343b58 #343b58 + client.focused_inactive #16161d #16161d #c0caf5 #16161d #16161d + client.unfocused #16161d #16161d #c0caf5 #16161d #16161d + + # Gaps + # gaps inner|outer|horizontal|vertical|top|right|bottom|left + # Sets default amount pixels of inner or outer gap + # the inner affects spacing around each view + # the outer affects the spacing around each workspace + # To reduce or remove outer gaps, outer gaps can be set to a negative value. + gaps inner 0 + gaps outer 0 + gaps top 0 + gaps bottom 0 + + # Hide gaps when there is only 1 window + smart_gaps on + + +######### Launchers ######### +### Menu for commands ### + + # Program Launcher + bindsym $mod+d exec rofi -no-config -no-lazy-grab -show drun -modi drun -theme ~/.config/polybar/grayblocks/scripts/rofi/launcher.rasi + + # Power menu + bindsym $mod+P exec /home/marco/.config/wofi/wofi-power.sh + + +######### Output Configuration ######### +### Monitors n shit ### + + # Wallpaper + + + +######### Key Bindindings ######### +### (I use Arch BTW) ### + + # Start a terminal + bindsym $mod+Return exec $term + + # Switch workspace to another monitor + bindsym $mod+Shift+h move workspace to output left + bindsym $mod+Shift+Tab move workspace to output left + bindsym $mod+Shift+j move workspace to output down + bindsym $mod+Shift+k move workspace to output up + bindsym $mod+Shift+l move workspace to output right + bindsym $mod+Tab move workspace to output right + + # Kill focused window + bindsym $mod+Shift+q kill + + # Resize (floating and tiled) windows with mouse + floating_modifier $mod + + # reload i3 config + bindsym $mod+Shift+c reload + + # reload i3 + bindsym $mod+Shift+r restart + + # Exit i3 + bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + + #prev/next workspace. bind it to your mouse if you have a sticky keyboard + bindsym $mod+Shift+o workspace prev_on_output + bindsym $mod+Shift+p workspace next_on_output + + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + + # Split direction + bindsym $mod+b splith + bindsym $mod+v splitv + + # Make the current focused window fullscreen + bindsym $mod+f fullscreen + + # Toggle focused window tiled/floating + bindsym $mod+Shift+t floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+t focus mode_toggle + + # Media keys + bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status + bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status + bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status + bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + + # Sreen brightness controls + bindsym XF86MonBrightnessDown exec light -U 5 + bindsym XF86MonBrightnessUp exec light -A 5 + + # Screenshot / share shortcuts + bindsym Print exec "maim -u -s -n -l -c 0.157,0.333,0.466,0.4 ~/Pictures/Screenshot-$(date -Iseconds | cut -d'+' -f1).png" + bindsym $mod+Print exec "maim -u -s -n -l -c 0.157,0.333,0.466,0.4 | xclip -selection clipboard -t image/png" + #bindsym Shift+Print exec ~/.files/i3/record-screen.sh byzanz + #bindsym Shift+Ctrl+Print exec ~/.files/i3/record-screen.sh gif + #bindsym Shift+$mod+Print exec ~/.files/i3/record-screen.sh ogv + +######### Resizing Containers ######### +### $mod+mouseClick works better tho ### + + mode "resize" { + bindsym h resize shrink width 10 px or 10 ppt + bindsym j resize grow height 10 px or 10 ppt + bindsym k resize shrink height 10 px or 10 ppt + bindsym l resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # easier than quitting vim + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" + } + bindsym $mod+r mode "resize" + + +######### Window Properties ######### +### Floating/Tiling / Workspaces ### + + # Wayland default floats + for_window [class="gnome-(calendar|calculator|power-statistics|control-center)"] floating enable + for_window [class="org.gnome.(Nautilus|Weather)"] floating enable + for_window [class="(pavucontrol|psensor)"] floating enable + for_window [class="nemo"] floating disable + for_window [class="mpv"] floating enable + for_window [class="mpv"] resize set 960 540 + for_window [class="mpv"] border pixel 0 + for_window [class="firefox" title="Firefox — Sharing Indicator"] floating enable + for_window [class="firefox" title="Picture-in-Picture"] floating enable + for_window [class="firefox" title="Pushbullet – Mozilla Firefox"] floating enable + for_window [class="firefox" title="About Mozilla Firefox"] floating enable + for_window [class="Gimp-2.10"] floating disable + for_window [class="Gimp-2.10" title="New Image"] floating enable + for_window [class="Gimp-2.10" title="Layer"] floating enable + for_window [class="Gimp-2.10" title="Tool"] floating enable + for_window [class="Gimp-2.10" title="Option"] floating enable + for_window [class="Gimp-2.10" title="Change"] floating enable + + # Brave, chrome, chromium + for_window [title="Picture-in-picture"] floating enable + + # Assign programs to workspace + assign [class="firefox"] → number 2 + assign [class="code"] → number 4 + assign [class="discord"] → number 5 + assign [class="Spotify"] → number 6 + assign [class="Audacity"] → number 6 + assign [class="Gmpc"] → number 6 + assign [class="ario"] → number 6 + assign [class="Thunderbird"] → number 8 + assign [class="Bitwarden"] → number 9 + # Some programs can be stubborn since they open a splash window before opening + for_window [class="discord"] move to workspace number 5 + for_window [class="Spotify"] move to workspace number 6 + for_window [class="Gimp-2.10"] move to workspace number 7 + for_window [class="Gimp"] move to workspace number 7 + + +######### Launch Programs ######### +### We need dis stuff ### + +# Applets + exec --no-startup-id nm-applet & + +# Arch update notifications + #exec --no-startup-id kalu + +# Gnome Keyring + exec --no-startup-id eval $(gnome-keyring-daemon --start) + exec --no-startup-id export SSH_AUTH_SOCK + +# start initial programs + exec --no-startup-id firefox & + exec --no-startup-id code & + exec --no-startup-id discord & + exec --no-startup-id spotify & + exec --no-startup-id gimp & + exec --no-startup-id bitwarden & + exec --no-startup-id thunderbird & + exec --no-startup-id /home/marco/.config/i3/launchTerminals + exec --no-startup-id /home/marco/.config/i3/launchNemos + +# Finally start polybar + exec_always /home/marco/.config/polybar/launch.sh --grayblocks & + diff --git a/.config/i3/launchNemos b/.config/i3/launchNemos new file mode 100755 index 0000000..d200c72 --- /dev/null +++ b/.config/i3/launchNemos @@ -0,0 +1,5 @@ +#!/bin/bash -e +i3-msg "workspace 3; append_layout /home/marco/.config/i3/workspace-3.json" +nemo --name="nemoDocuments" '/home/marco/Documents' & +nemo --name="nemoConfig" '/home/marco/.config' & +nemo --name="nemoSHM" '/dev/shm' & diff --git a/.config/i3/launchTerminals b/.config/i3/launchTerminals new file mode 100755 index 0000000..4ef46f0 --- /dev/null +++ b/.config/i3/launchTerminals @@ -0,0 +1,6 @@ +#!/bin/bash -e +i3-msg "workspace 1; append_layout /home/marco/.config/i3/workspace-1.json" +urxvt -name "termDocuments" -e $SHELL -c 'cd /home/marco/Documents;$SHELL -i'& +urxvt -name "termHome" -e $SHELL -c 'cd /home/marco/;neofetch | lolcat;$SHELL -i'& +urxvt -name "termConfig" -e $SHELL -c 'cd /home/marco/.config;htop;$SHELL -i'& +urxvt -name "termDownloads" -e $SHELL -c 'cd /home/marco/Downloads;$SHELL -i'& diff --git a/.config/i3/workspace-1.json b/.config/i3/workspace-1.json new file mode 100644 index 0000000..cc71b99 --- /dev/null +++ b/.config/i3/workspace-1.json @@ -0,0 +1,120 @@ +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 340, + "width": 564, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "marco@koiosdev/home/marco/Documents", + "percent": 0.4, + "swallows": [ + { + "class": "^URxvt$", + "instance": "termDocuments" + } + ], + "type": "con" +} + +{ + // splitv split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "splitv", + "marks": [], + "percent": 0.6, + "type": "con", + "nodes": [ + { + // splith split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "splith", + "marks": [], + "percent": 0.6, + "type": "con", + "nodes": [ + { + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 340, + "width": 564, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "marco@koiosdev:/home/marco/", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "termHome" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 340, + "width": 564, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "marco@koiosdev:/home/marco/.config", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "termConfig" + } + ], + "type": "con" + } + ] + }, + { + // splith split container with 1 children + "border": "normal", + "floating": "auto_off", + "layout": "splith", + "marks": [], + "percent": 0.4, + "type": "con", + "nodes": [ + { + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 340, + "width": 564, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "marco@koiosdev:/home/marco/Downloads", + "percent": null, + "swallows": [ + { + "class": "^URxvt$", + "instance": "termDownloads" + } + ], + "type": "con" + } + ] + } + ] +} + diff --git a/.config/i3/workspace-3.json b/.config/i3/workspace-3.json new file mode 100644 index 0000000..cdb111b --- /dev/null +++ b/.config/i3/workspace-3.json @@ -0,0 +1,74 @@ +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 996, + "width": 451, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "nemoSHM", + "percent": 0.5, + "swallows": [ + { + "class": "^Nemo$" + } + ], + "type": "con" +} + +{ + // splitv split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "splitv", + "marks": [], + "percent": 0.5, + "type": "con", + "nodes": [ + { + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 996, + "width": 451, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "nemoConfig", + "percent": 0.5, + "swallows": [ + { + "class": "^Nemo$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 996, + "width": 451, + "x": 0, + "y": 0 + }, + "marks": [], + "name": "nemoSHM", + "percent": 0.5, + "swallows": [ + { + "class": "^Nemo$" + } + ], + "type": "con" + } + ] +} + diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf new file mode 100644 index 0000000..4b29091 --- /dev/null +++ b/.config/picom/picom.conf @@ -0,0 +1,298 @@ + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 0.80; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +# frame-opacity = 1.0 +frame-opacity = 1.0; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +menu-opacity = 1.0; + +# 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; + + +# disabled due to active opacity being 1.0 + +# Specify a list of opacity rules +# "99:class_g = 'gimp' && window_type = 'tooltip' && window_type = 'toolbox'" +#opacity-rule = [ "100:class_g = 'firefox'", "100:class_g = 'Gimp'" , "100:class_g = 'Nemo'" +#, "100:class_g = 'Steam'", "100:class_g = 'code-oss'", "100:class_g = 'Gimp-2.10'" ] + +opacity-rule = [ "100:class_g = 'firefox'", "100:class_g = 'Brave-browser'" ]; + +################################# +# Borders # +################################# + + +# add rounded corners to everything except polybar +corner-radius = 8.0; +rounded-corners-exclude = [ + "class_g = 'Polybar'" +]; + +round-borders = 1; +round-borders-rule = [ + "2:window_type = 'normal'", +]; + +# make stuff fade in and out +fading = true; +fade-in-step = 0.2; +fade-out-step = 0.2; + + + +################################# +# Background-Blurring # +################################# + + + +blur-method="dual_kawase"; +blur-strengh= 10; +blur-background=false; +blur-background-fixed=false; +blur-background-frame=false; + +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "class_g = 'slop'", + "_GTK_FRAME_EXTENTS@:c" +]; + +################################# +# 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. +# +# backend = 'glx' +backend = "glx"; + +# 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. +# +# 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 = "warn"; + +# 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: +{ + 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/blocks/bars.ini b/.config/polybar/blocks/bars.ini new file mode 100644 index 0000000..c245f34 --- /dev/null +++ b/.config/polybar/blocks/bars.ini @@ -0,0 +1,600 @@ +;; ┌────────────────────────────────────────────────────┐ +;; │░█▀█░█▀█░█░░░█░█░█▀▄░█▀█░█▀▄░░░░░░░░░█▀▄░█▀█░█▀▄░█▀▀│ +;; │░█▀▀░█░█░█░░░░█░░█▀▄░█▀█░█▀▄░░░░▀░░░░█▀▄░█▀█░█▀▄░▀▀█│ +;; │░▀░░░▀▀▀░▀▀▀░░▀░░▀▀░░▀░▀░▀░▀░░░░▀░░░░▀▀░░▀░▀░▀░▀░▀▀▀│ +;; │░Created░By░Aditya░Shakya░@adi1090x░░░░░░░░░░░░░░░░░│ +;; └────────────────────────────────────────────────────┘ + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[bar] +fill = ⏽ +empty = ⏽ +indicator = ⏽ +; Nerd font :   ,  ⏽,  樂 籠 錄 , 雷 絛 + +[module/volume] +type = internal/alsa + +; Soundcard to be used +; Usually in the format hw:# where # is the card number +; You can find the different card numbers in `/proc/asound/cards` +master-soundcard = default +speaker-soundcard = default +headphone-soundcard = default + +; Name of the master, speaker and headphone mixers +; Use the following command to list available mixer controls: +; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p" +; If master, speaker or headphone-soundcard isn't the default, +; use `amixer -c # scontrols` instead where # is the number +; of the master, speaker or headphone soundcard respectively +; +; Default: Master +master-mixer = Master + +; Optionally define speaker and headphone mixers +; Default: none +;;speaker-mixer = Speaker +; Default: none +;;headphone-mixer = Headphone + +; NOTE: This is required if headphone_mixer is defined +; Use the following command to list available device controls +; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort +; You may also need to use `amixer -c # controls` as above for the mixer names +; Default: none +;;headphone-id = 9 + +; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear +; Default: false +;;mapped = true + +; Interval for volume increase/decrease (in percent points) +; Default: 5 +interval = 5 + +; Available tags: +; (default) +; +; +format-volume = +format-volume-prefix =  +format-volume-prefix-padding = 1 +format-volume-prefix-background = ${color.blue} +format-volume-prefix-foreground = ${color.foreground} +format-volume-background = ${color.background-alt} +format-volume-foreground = ${color.foreground} +format-volume-overline = ${color.background} +format-volume-underline = ${color.background} + +; Available tags: +; (default) +; +; +format-muted = +format-muted-prefix =  +format-muted-prefix-padding = 1 +format-muted-prefix-background = ${color.red} +format-muted-overline = ${color.background} +format-muted-underline = ${color.background} + +; Available tokens: +; %percentage% (default) +label-volume = %percentage%% +label-volume-background = ${color.background-alt} +label-volume-padding = 1 + +; Available tokens: +; %percentage% (default +label-muted = "Muted" +label-muted-foreground = ${color.foreground} +label-muted-background = ${color.background-alt} +label-muted-padding = 1 + +; Only applies if is used +ramp-volume-0 =  +ramp-volume-1 =  +ramp-volume-2 =  +ramp-volume-background = ${color.blue} +ramp-volume-padding = 1 + +; Only applies if is used +bar-volume-format = " %fill%%indicator%%empty% " +bar-volume-width = 10 +bar-volume-gradient = false + +bar-volume-indicator = ${bar.indicator} +bar-volume-indicator-foreground = ${color.foreground} + +bar-volume-fill = ${bar.fill} +bar-volume-foreground-0 = ${color.foreground} +bar-volume-foreground-1 = ${color.foreground} +bar-volume-foreground-2 = ${color.foreground} + +bar-volume-empty = ${bar.empty} +bar-volume-empty-foreground = ${color.gray} + +; If defined, it will replace when +; headphones are plugged in to `headphone_control_numid` +; If undefined, will be used for both +; Only applies if is used +ramp-headphones-0 =  +ramp-headphones-background = ${color.blue} +ramp-headphones-padding = 1 + +;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ + +[module/brightness] +;type = internal/xbacklight +type = internal/backlight + +; Use the following command to list available cards: +; $ ls -1 /sys/class/backlight/ +;card = intel_backlight +card = amdgpu_bl0 + +; Available tags: +;