From e09f3a1995c726fff4a2b51fa3423e2e172e046e Mon Sep 17 00:00:00 2001 From: EmaMaker Date: Tue, 6 Sep 2022 16:49:31 +0200 Subject: [PATCH] gruvbox, better polybar and rofi --- README.md | 15 ++ i3/config | 70 +++---- polybar/config.ini | 203 ++++++++++++++++++++ sddm/default.conf | 135 +++++++++++++ wallpaper/wp11058332-gruvbox-wallpapers.png | Bin 0 -> 57033 bytes 5 files changed, 383 insertions(+), 40 deletions(-) create mode 100644 README.md create mode 100644 polybar/config.ini create mode 100644 sddm/default.conf create mode 100644 wallpaper/wp11058332-gruvbox-wallpapers.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..83d0959 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Dotfiles +I like the warm colors of the [Gruvbox](!https://github.com/morhetz/gruvbox) theme + + +Wallpapers from [Wallpapers Cave](!https://wallpapercave.com/gruvbox-wallpapers) + + +Remember to: +- copy the sddm config files to /etc/sddm.conf.d/ and place the wallpaper in /usr/share/sddm/themes/maldives, naming it background.jpg +- install rofi themes from [github](!https://github.com/adi1090x/rofi) and then copy my modified dotfiles there in $HOME/.config/rofi +- Change colors and styles to rofi themes: + + + +This theme should also be compatible with my Thinkpad Yoga 370, some polybar modules are there to be used while in touchscreen mode, but they also have a keyboard shortcut define in i3 config. For polybar, remember to install [fontawesome](!https://fontawesome.com) (`ttf-font-awesome` package if on ArchLinux) diff --git a/i3/config b/i3/config index 3d2e61b..a76a321 100644 --- a/i3/config +++ b/i3/config @@ -8,7 +8,6 @@ exec_always /home/emamaker/.screenlayout/layout.sh set $screen2 HDMI-0 set $screen1 DisplayPort-0 - ######### Basic I3 Behaviour Config ######### # keyboard layout exec --no-startup-id setxkbmap -layout it @@ -32,17 +31,17 @@ exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork floating_modifier $mod # start a terminal -bindsym $mod+Return exec prime-run alacritty -bindsym $mod+Shift Return exec alacritty +bindsym $mod+Return exec alacritty +bindsym $mod+Shift+Return prime-run exec alacritty # kill focused window bindsym $mod+Shift+q kill # change focus -#bindsym $mod+a focus left -#bindsym $mod+s focus down -#bindsym $mod+w focus up -#bindsym $mod+d focus right +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right # alternatively, you can use the cursor keys: bindsym $mod+Left focus left @@ -51,10 +50,10 @@ bindsym $mod+Up focus up bindsym $mod+Right focus right # move focused window -bindsym $mod+Shift+j move left -bindsym $mod+Shift+k move down -bindsym $mod+Shift+l move up -bindsym $mod+Shift+ograve move right +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right # alternatively, you can use the cursor keys: bindsym $mod+Shift+Left move left @@ -63,8 +62,7 @@ bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # split in horizontal orientation -bindsym $mod+h split h - +bindsym $mod+b split h # split in vertical orientation bindsym $mod+v split v @@ -106,10 +104,10 @@ mode "resize" { # Pressing right will grow the window’s width. # Pressing up will shrink the window’s height. # Pressing down will grow the window’s height. - bindsym j resize shrink width 10 px or 10 ppt + bindsym h resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt - bindsym l resize shrink height 10 px or 10 ppt - bindsym ograve resize grow width 10 px or 10 ppt + bindsym j 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 @@ -133,15 +131,6 @@ default_orientation vertical exec_always --no-startup-id i3altlayout -bindsym --release Mod1+w exec --no-startup-id xdotool key --clearmodifiers Up -bindsym --release Mod1+a exec --no-startup-id xdotool key --clearmodifiers Left -bindsym --release Mod1+s exec --no-startup-id xdotool key --clearmodifiers Down -bindsym --release Mod1+d exec --no-startup-id xdotool key --clearmodifiers Right -# bindsym --release Mod1+c exec --no-startup-id xdotool key --clearmodifiers Return - -bindsym --release Mod1+z exec --no-startup-id xdotool key --clearmodifiers XF86Back -bindsym --release Mod1+x exec --no-startup-id xdotool key --clearmodifiers XF86Forward - bindsym Mod1+Tab workspace back_and_forth bindsym Shift+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name for this workspace: ' @@ -149,8 +138,6 @@ bindsym Shift+F2 exec i3-input -F 'rename workspace to "%s"' -P 'New name for th # gaps gaps inner 10 -# smart_gaps on - # Smart borders (draw borders around container only if it is not the only container on this workspace) # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) smart_borders on @@ -210,25 +197,25 @@ exec_always picom --config $HOME/.config/picom/picom.conf # Applets / System-tray exec --no-startup-id nm-applet -exec --no-startup-id volctl - -# redshift +#exec --no-startup-id volctl # wallpaper -set $bg "/home/emamaker/Pictures/Wallpapers/material.jpg" +set $bg "/home/emamaker/Pictures/Wallpapers/wp11058332-gruvbox-wallpapers.png" exec_always --no-startup-id feh --bg-fill $bg; -#i3 expo -#bindsym $mod+Tab exec --no-startup-id "killall -s SIGUSR1 i3expod.py" - #rofi #running with prime so that applications launched from rofi use the dedicated gpu -bindsym $mod+e exec --no-startup-id prime-run rofi -show drun -show-icons -bindsym Mod1+e exec --no-startup-id rofi -show drun -show-icons +bindsym $mod+e exec --no-startup-id $HOME/.config/rofi/launchers/type-1/launcher.sh +bindsym Mod1+e exec --no-startup-id prime-run $HOME/.config/rofi/launchers/type-1/launcher.sh +# rofi power-menu +bindsym $mod+p exec --no-startup-id $HOME/.config/rofi/powermenu/type-1/powermenu.sh +bindsym $mod+x exec --no-startup-id $HOME/.config/rofi/applets/bin/screenshot.sh +bindsym $mod+o exec --no-startup-id $HOME/.config/rofi/applets/bin/volume.sh +bindsym $mod+i exec --no-startup-id $HOME/.config/rofi/applets/bin/brightness.sh +bindsym $mod+u exec --no-startup-id $HOME/.config/rofi/applets/bin/battery.sh #scratchpad bindsym $mod+minus move scratchpad -bindsym $mod+Shift+minus exec --no-startup-id rofi -show window -show-icons ############### workspaces mapping ############### # Define names for default workspaces for which we configure key bindings later on. @@ -328,9 +315,6 @@ workspace $ws20 output $screen2 set $i3_resurrect /home/emamaker/.local/bin/i3-resurrect exec --no-startup-id i3_resurrect restore -w $ws10; sleep 1; $i3_resurrect restore -w $ws20 -#exec_always /home/emamaker/.config/i3/restore.sh - - # Save workspace mode. mode "save" { @@ -400,3 +384,9 @@ bindsym $mod+n mode "restore" exec /usr/lib/polkit-1/polkitd --no-debug exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & + +for_window [class="Viewnior"] floating enable +# assign to workspaces +assign [class="TelegramDesktop"] $ws10 +assign [class="Whatsapp-for-linux"] $ws10 +assign [class="UXTerm"] $ws20 diff --git a/polybar/config.ini b/polybar/config.ini new file mode 100644 index 0000000..0ac21c4 --- /dev/null +++ b/polybar/config.ini @@ -0,0 +1,203 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/polybar/polybar +; +; The README contains a lot of information +; +;========================================================== + +[colors] +background = #282A2E +background-alt = #373B41 +foreground = #C5C8C6 +primary = #F0C674 +secondary = #8ABEB7 +alert = #A54242 +disabled = #707880 + +[bar/example] +monitor = ${env:MONITOR:} +width = 100% +height = 24pt +radius = 6 + +; dpi = 96 + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3pt + +border-size = 4pt +border-color = #00000000 + +padding-left = 2 +padding-right =2 + +module-margin = 2 + +separator = | +separator-foreground = ${colors.disabled} + +font-0 = fixed:pixelsize=10;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = siji:pixelsize=10;1 +font-3 = FontAwesome5Free:style=Solid:pixelsize=18:antialias=false;3 +font-4 = FontAwesome5Brands:style=Solid:pixelsize=18:antialias=false;3 + +modules-left = i3 +modules-center = date +modules-right = filesystem wlan eth memory cpu screenshot volume brightness launcher powermenu + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = 2 + +#visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% + +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.disabled} + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM " +format-prefix-foreground = ${colors.primary} +label = %used:2% + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = "CPU " +format-prefix-foreground = ${colors.primary} +label = %percentage:2%% + +[network-base] +type = internal/network +interval = 5 +format-connected = +format-disconnected = +label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected + +[module/wlan] +inherit = network-base +interface-type = wireless +label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% + +[module/eth] +inherit = network-base +interface-type = wired +label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% + +[module/date] +type = internal/date +interval = 1 + +date-alt = %H:%M +date = %Y-%m-%d - %H:%M + +label = %date% +label-foreground = ${colors.primary} + +[settings] +screenchange-reload = true +pseudo-transparency = true + +; vim:ft=dosini +[module/launcher] +type = custom/text +content = 異 +content-background = black +content-foreground = green +click-left = ~/.config/rofi/launchers/type-1/launcher.sh +click-right = launcher_t1 + +;; Power Menu Module +[module/powermenu] +type = custom/text +content = 襤 +content-background = black +content-foreground = red +click-left = ~/.config/rofi/powermenu/type-1/powermenu.sh +click-right = powermenu_t1 + +;; Volume Menu Module +[module/volume] +type = custom/text +content =  +content-background = black +content-foreground = red +click-left = ~/.config/rofi/applets/bin/volume.sh +click-right = volume_t1 + +;; Brightness Menu Module +[module/brightness] +type = custom/text +content =  +content-background = black +content-foreground = red +click-left = ~/.config/rofi/applets/bin/brightness.sh +click-right = volume_t1 + +;; Screenshot Menu Module +[module/screenshot] +type = custom/text +content =  +content-background = black +content-foreground = red +click-left = ~/.config/rofi/applets/bin/screenshot.sh +click-right = volume_t1 diff --git a/sddm/default.conf b/sddm/default.conf new file mode 100644 index 0000000..ecd1dfe --- /dev/null +++ b/sddm/default.conf @@ -0,0 +1,135 @@ +[Autologin] +# Whether sddm should automatically log back into sessions when they exit +Relogin=false + +# Name of session file for autologin session (if empty try last logged in) +Session= + +# Username for autologin session +User= + + +[General] +# Halt command +HaltCommand=/usr/bin/systemctl poweroff + +# Input method module +InputMethod= + +# Comma-separated list of Linux namespaces for user session to enter +Namespaces= + +# Initial NumLock state. Can be on, off or none. +# If property is set to none, numlock won't be changed +# NOTE: Currently ignored if autologin is enabled. +Numlock=none + +# Reboot command +RebootCommand=/usr/bin/systemctl reboot + + +[Theme] +# Current theme name +Current=maldives + +# Cursor theme used in the greeter +CursorTheme= + +# Number of users to use as threshold +# above which avatars are disabled +# unless explicitly enabled with EnableAvatars +DisableAvatarsThreshold=7 + +# Enable display of custom user avatars +EnableAvatars=true + +# Global directory for user avatars +# The files should be named .face.icon +FacesDir=/usr/share/sddm/faces + +# Font used in the greeter +Font= + +# Theme directory path +ThemeDir=/usr/share/sddm/themes + + +[Users] +# Default $PATH for logged in users +DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin + +# Comma-separated list of shells. +# Users with these shells as their default won't be listed +HideShells= + +# Comma-separated list of users that should not be listed +HideUsers= + +# Maximum user id for displayed users +MaximumUid=60513 + +# Minimum user id for displayed users +MinimumUid=1000 + +# Remember the session of the last successfully logged in user +RememberLastSession=true + +# Remember the last successfully logged in user +RememberLastUser=true + +# When logging in as the same user twice, restore the original session, rather than create a new one +ReuseSession=true + + +[Wayland] +# Enable Qt's automatic high-DPI scaling +EnableHiDPI=false + +# Path to a script to execute when starting the desktop session +SessionCommand=/usr/share/sddm/scripts/wayland-session + +# Directory containing available Wayland sessions +SessionDir=/usr/share/wayland-sessions + +# Path to the user session log file +SessionLogFile=.local/share/sddm/wayland-session.log + + +[X11] +# Path to a script to execute when starting the display server +DisplayCommand=/usr/share/sddm/scripts/Xsetup + +# Path to a script to execute when stopping the display server +DisplayStopCommand=/usr/share/sddm/scripts/Xstop + +# Enable Qt's automatic high-DPI scaling +EnableHiDPI=false + +# The lowest virtual terminal number that will be used. +MinimumVT=1 + +# Arguments passed to the X server invocation +ServerArguments=-nolisten tcp + +# Path to X server binary +ServerPath=/usr/bin/X + +# Path to a script to execute when starting the desktop session +SessionCommand=/usr/share/sddm/scripts/Xsession + +# Directory containing available X sessions +SessionDir=/usr/share/xsessions + +# Path to the user session log file +SessionLogFile=.local/share/sddm/xorg-session.log + +# Path to the Xauthority file +UserAuthFile=.Xauthority + +# Path to xauth binary +XauthPath=/usr/bin/xauth + +# Path to Xephyr binary +XephyrPath=/usr/bin/Xephyr + + diff --git a/wallpaper/wp11058332-gruvbox-wallpapers.png b/wallpaper/wp11058332-gruvbox-wallpapers.png new file mode 100644 index 0000000000000000000000000000000000000000..7751d5c1fa211057a1415c44a041b2361df22f59 GIT binary patch literal 57033 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 Yz5nqriMi%))WLdg+P?AThJz>n4R_yID*ylh literal 0 HcmV?d00001