diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf deleted file mode 100644 index 8ec1b4c..0000000 --- a/hypr/hyprland.conf +++ /dev/null @@ -1,69 +0,0 @@ - -# -# Executes -# -exec-once = wlsunset -exec-once = hyprpaper -exec-once = waybar -# -# Monitor -# See https://wiki.hyprland.org/Configuring/Monitors/ -# -monitor=,preferred,auto,auto -monitor=,addreserved,5,15,15,15 -monitor=desc:Lenovo Group Limited LEN T32p-20 VNA8W4PX,preferred,auto,1.2 - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more - -# Execute your favorite apps at launch -# exec-once = waybar & hyprpaper & firefox - -# Source a file (multi-file configs) -source = ~/.config/hypr/keymap.conf -source = ~/.config/hypr/rice.conf - -# Some default env vars. -env = XCURSOR_SIZE,24 -# -# Input -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -# -input { - kb_layout = se - kb_variant = mac - - follow_mouse = 1 - - touchpad { - natural_scroll = no - clickfinger_behavior = yes - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} - - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true - workspace_swipe_invert = false -} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more -device:epic-mouse-v1 { - sensitivity = -0.5 -} - -# Example windowrule v1 -# windowrule = float, ^(alacritty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(alacritty)$,title:^(alacritty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - diff --git a/hypr/hyprpaper.conf b/hypr/hyprpaper.conf deleted file mode 100644 index f11b6a9..0000000 --- a/hypr/hyprpaper.conf +++ /dev/null @@ -1,5 +0,0 @@ -preload = ~/wallpapers/forest-view.jpg -preload = ~/wallpapers/the-golden-sun.png - -wallpaper = eDP-1,~/wallpapers/forest-view.jpg -wallpaper = ,~/wallpapers/the-golden-sun.png diff --git a/hypr/keymap.conf b/hypr/keymap.conf deleted file mode 100644 index 4ceea9b..0000000 --- a/hypr/keymap.conf +++ /dev/null @@ -1,87 +0,0 @@ -# -# Keybindings -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, T, exec, alacritty -bind = $mainMod, Q, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, F, exec, thunar -bind = $mainMod, V, togglefloating, -bind = $mainMod, SPACE, exec, wofi --show drun --normal-window -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, L, exec, swaylock - -# Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 -bind = $mainMod SHIFT, right, workspace, e+1 -bind = $mainMod SHIFT, left, workspace, e-1 -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# -# Tabber -# -bind= $mainMod, tab, changegroupactive -# -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow -# Resize window with mainMod + CTRL + up, down, left, right -bind = $mainMod CTRL, right, resizeactive, 25 0 -bind = $mainMod CTRL, left, resizeactive, -25 0 -bind = $mainMod CTRL, up, resizeactive, 0 -25 -bind = $mainMod CTRL, down, resizeactive, 0 25 -# -# Media keys -# -binde=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -binde=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bind=, XF86AudioPlay, exec, playerctl play-pause -bind=, XF86AudioPause, exec, playerctl play-pause -bind=, XF86AudioNext, exec, playerctl next -bind=, XF86AudioPrev, exec, playerctl previous - -# -# Hardware button mapping -# For example powerbutton -# -bind=,XF86PowerOff, exec, wlogout -# Laptop lid switch -bindl=,switch:on:Lid Switch,exec,swaylock -bindl=,switch:off:Lid Switch,exec,hyprctl keyword monitor "eDP-1, 3000x2000@60,0x0,auto" -bindl=,switch:on:Lid Switch,exec,hyprctl keyword monitor "eDP-1, disable" -# Screen brightness -bind=,XF86MonBrightnessDown,exec,brightnessctl set 5%- -bind=,XF86MonBrightnessUp,exec,brightnessctl set +5% diff --git a/hypr/rice.conf b/hypr/rice.conf deleted file mode 100644 index 6f68abe..0000000 --- a/hypr/rice.conf +++ /dev/null @@ -1,138 +0,0 @@ - -# -# General settings -# -general { - gaps_in=10 - gaps_out=0 - border_size=3 - col.inactive_border=rgba(f7768eff) rgba(73dacaff) 45deg - col.active_border=rgba(73dacaff) rgba(f7768eff) 45deg - no_border_on_floating = false - layout = dwindle -} - - -# unscale XWayland -xwayland { - force_zero_scaling = true -} - -# toolkit-specific scale -env = GDK_SCALE,2 -env = XCURSOR_SIZE,32 - -misc { - disable_hyprland_logo = true - disable_splash_rendering = true - mouse_move_enables_dpms = true - enable_swallow = true - swallow_regex = ^(alacritty)$ -} - -decoration { - # - # Round corners - # - rounding = 3 - - # - # Opacity - # - active_opacity = 0.98 - inactive_opacity = 0.65 - # - # Blur - # - # - blur { - enabled = true - size = 2 - passes = 2 - } - - - # - # Shadow - # - drop_shadow = true - shadow_ignore_window = true - shadow_offset = 2 2 - shadow_range = 8 - shadow_render_power = 10 - col.shadow = rgba(00000055) - blurls = gtk-layer-shell - blurls = lockscreen -} - -# -# Animation -# -animations { - enabled = true - # - # Bezier curve - # - bezier = overshot, 0.05, 0.5, 0.1, 1.05 - bezier = smoothOut, 0.36, 0, 0.66, -0.56 - bezier = smoothIn, 0.25, 0.8, 0.5, 0.5 - - animation = windows, 1, 5, overshot, slide - animation = windowsOut, 1, 4, smoothOut, slide - animation = windowsMove, 1, 4, default - animation = border, 1, 10, default - animation = fade, 1, 2, smoothIn - animation = fadeDim, 1, 2, smoothIn - animation = workspaces, 1, 6, default - -} - -# -# Layouts -# -dwindle { - no_gaps_when_only = false - pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # you probably want this -} - -# -# Window rules -# -windowrule = float, file_progress -windowrule = float, confirm -windowrule = float, dialog -windowrule = float, download -windowrule = float, notification -windowrule = float, error -windowrule = float, splash -windowrule = float, confirmreset -windowrule = float, title:Open File -windowrule = float, title:branchdialog -windowrule = float, Lxappearance -windowrule = float, wofi -windowrule = float,viewnior -# windowrule = float,feh -windowrule = float, pavucontrol-qt -windowrule = float, pavucontrol -windowrulev2 = tile, title:^(.*)(Godot)(.*)$ -# windowrule = float, file-roller -windowrule = fullscreen, wlogout -windowrule = float, title:wlogout -windowrule = fullscreen, title:wlogout -windowrule = idleinhibit focus, mpv -windowrule = idleinhibit fullscreen, firefox -windowrule = float, title:^(Media viewer)$ -windowrule = float, title:^(Volume Control)$ -windowrule = float, title:^(Picture-in-Picture)$ -windowrule = size 800 600, title:^(Volume Control)$ -windowrule = move 39% 420, title:^(Volume Control)$ -windowrule = tile, title:^(.*)Aseprite(.*)$ - -windowrulev2 = workspace 1, class:^(alacritty)$ -windowrulev2 = workspace 2, class:^(firefox)$ -windowrulev2 = workspace 3, class:^(discord)$ -windowrulev2 = workspace 3, title:^(Spotify)(.*)$ -windowrulev2 = workspace 3, class:^(Slack)$ -windowrulev2 = workspace special, class:^(thunar)$ -windowrulev2 = workspace special, class:^(YouTube Music)$ diff --git a/i3/config b/i3/config new file mode 100644 index 0000000..2067262 --- /dev/null +++ b/i3/config @@ -0,0 +1,219 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Start XDG autostart .desktop files using dex. See also +# https://wiki.archlinux.org/index.php/XDG_Autostart +exec --no-startup-id dex --autostart --environment i3 + +# The combination of xss-lock, nm-applet and pactl is a popular choice, so +# they are included here as an example. Modify as you see fit. + +# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the +# screen before suspend. Use loginctl lock-session to lock your screen. +exec --no-startup-id xss-lock --transfer-sleep-lock -- betterlockscreen --lock blur + +# NetworkManager is the most popular way to manage wireless networks on Linux, +# and nm-applet is a desktop environment-independent system tray GUI for it. +exec --no-startup-id nm-applet +# Start polybar +exec sh ~/.config/polybar/startup.sh + +# Start nitrogen for wallpaper support +exec always nitrogen --restore + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# move tiling windows via drag & drop by left-clicking into the title bar, +# or left-clicking anywhere into the window while holding the floating modifier. +tiling_drag modifier titlebar + +# start a terminal +bindsym $mod+t exec alacritty + +# kill focused window +bindsym $mod+q kill + +# start dmenu (a program launcher) +bindsym $mod+space exec --no-startup-id rofi -show drun +# A more modern dmenu replacement is rofi: +# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +# There also is i3-dmenu-desktop which only displays applications shipping a +# .desktop file. It is a wrapper around dmenu, so you need that installed. +# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop + +# change focus +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +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+odiaeresis move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+f floating toggle + +# change focus between tiling / floating windows +bindsym $mod+Shift+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +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'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # 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 k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym odiaeresis 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 + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + + +# +# -------- +# Monitor settings +# -------- +# +# Automatically turn off laptop monitor when the lid is closed +exec --no-startup-id xrandr --output eDP-1 --off --auto +exec --no-startup-id xset -dpms +exec --no-startup-id xset s off + +# Automatically turn on laptop monitor when the lid is opened +exec --no-startup-id xrandr --output eDP-1 --auto + +# Lockscreen +exec --no-startup-id betterlockscreen -w blur +bindsym $mod+L exec betterlockscreen --lock blur +# +# -------- +# Rice config +# -------- +# + +# Gaps config +gaps inner 10 +gaps top 5 +gaps horizontal 15 +gaps bottom 15 + +# remove top border +for_window [class="^.*"] border pixel 2 +client.focused #73daca90 #73daca90 #fdf6e3 #cb4b16 +client.focused_inactive #73daca60 #73daca60 #fdf6e3 #073642 +client.unfocused #73daca60 #73daca60 #fdf6e3 #073642 \ No newline at end of file diff --git a/nitrogen/bg-saved.cfg b/nitrogen/bg-saved.cfg new file mode 100644 index 0000000..9b6df6a --- /dev/null +++ b/nitrogen/bg-saved.cfg @@ -0,0 +1,9 @@ +[xin_1] +file=/home/elias/wallpapers/the-golden-sun.png +mode=5 +bgcolor=#000000 + +[xin_0] +file=/home/elias/wallpapers/forest-view.jpg +mode=5 +bgcolor=#000000 diff --git a/nitrogen/nitrogen.cfg b/nitrogen/nitrogen.cfg new file mode 100644 index 0000000..7035889 --- /dev/null +++ b/nitrogen/nitrogen.cfg @@ -0,0 +1,12 @@ +[geometry] +posx=4292 +posy=57 +sizex=1258 +sizey=1338 + +[nitrogen] +view=icon +recurse=true +sort=alpha +icon_caps=false +dirs=/home/elias/wallpapers; diff --git a/polybar/config.ini b/polybar/config.ini new file mode 100644 index 0000000..d567f63 --- /dev/null +++ b/polybar/config.ini @@ -0,0 +1,178 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; 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 = 0 +padding-right = 1 + +module-margin = 1 + +separator = | +separator-foreground = ${colors.disabled} + +font-0 = monospace;2 + +modules-left = xworkspaces xwindow +modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date + +cursor-click = pointer +cursor-scroll = ns-resize + +enable-ipc = true + +; wm-restack = generic +; wm-restack = bspwm +; wm-restack = i3 + +; override-redirect = true + +[module/systray] +type = internal/tray + +format-margin = 8pt +tray-spacing = 16pt + +[module/xworkspaces] +type = internal/xworkspaces + +label-active = %name% +label-active-background = ${colors.background-alt} +label-active-underline= ${colors.primary} +label-active-padding = 1 + +label-occupied = %name% +label-occupied-padding = 1 + +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 1 + +label-empty = %name% +label-empty-foreground = ${colors.disabled} +label-empty-padding = 1 + +[module/xwindow] +type = internal/xwindow +label = %title:0:60:...% + +[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/pulseaudio] +type = internal/pulseaudio + +format-volume-prefix = "VOL " +format-volume-prefix-foreground = ${colors.primary} +format-volume = + +label-volume = %percentage%% + +label-muted = muted +label-muted-foreground = ${colors.disabled} + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +label-layout = %layout% +label-layout-foreground = ${colors.primary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-foreground = ${colors.background} +label-indicator-background = ${colors.secondary} + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = "RAM " +format-prefix-foreground = ${colors.primary} +label = %percentage_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 = %H:%M +date-alt = %Y-%m-%d %H:%M:%S + +label = %date% +label-foreground = ${colors.primary} + +[settings] +screenchange-reload = true +pseudo-transparency = true + +; vim:ft=dosini + diff --git a/polybar/startup.sh b/polybar/startup.sh new file mode 100644 index 0000000..901fe7e --- /dev/null +++ b/polybar/startup.sh @@ -0,0 +1,7 @@ +killall -q polybar +# Launch bar on each monitor, tray on primary +polybar --list-monitors | while IFS=$'\n' read line; do + monitor=$(echo $line | cut -d':' -f1) + primary=$(echo $line | cut -d' ' -f3) + MONITOR=$monitor polybar --reload "example" & +done diff --git a/swaylock/config b/swaylock/config deleted file mode 100644 index 84085eb..0000000 --- a/swaylock/config +++ /dev/null @@ -1,27 +0,0 @@ -indicator-caps-lock -datestr=%A - -scaling=fill -font=JetBrainsMono -font-size=20 -indicator-radius=115 -line-color=#3b4252 -text-color=#d8dee9 -inside-color=#2e344098 -inside-ver-color=#5e81ac -line-ver-color=#5e81ac -ring-ver-color=#5e81ac98 -ring-color=#4c566a -key-hl-color=#5e81ac -separator-color=#4c566a -layout-text-color=#eceff4 -line-wrong-color=#d08770 - -screenshots -clock -indicator -indicator-thickness=7 -effect-blur=7x5 -effect-vignette=0.5:0.5 -grace=2 -fade-in=0.2 \ No newline at end of file diff --git a/swaylock/qt5ct/qt5ct.conf b/swaylock/qt5ct/qt5ct.conf deleted file mode 100644 index b32291b..0000000 --- a/swaylock/qt5ct/qt5ct.conf +++ /dev/null @@ -1,28 +0,0 @@ -[Appearance] -color_scheme_path=/usr/share/qt5ct/colors/airy.conf -custom_palette=false -icon_theme=Papirus -standard_dialogs=default -style=kvantum-dark - -[Fonts] -fixed=@Variant(\0\0\0@\0\0\0\x12\0\x43\0\x61\0n\0t\0\x61\0r\0\x65\0l\0l@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) -general=@Variant(\0\0\0@\0\0\0\x12\0\x43\0\x61\0n\0t\0\x61\0r\0\x65\0l\0l@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) - -[Interface] -activate_item_on_single_click=1 -buttonbox_layout=0 -cursor_flash_time=1000 -dialog_buttons_have_icons=1 -double_click_interval=400 -gui_effects=@Invalid() -keyboard_scheme=2 -menus_have_icons=true -show_shortcuts_in_context_menus=true -stylesheets=@Invalid() -toolbutton_style=4 -underline_shortcut=1 -wheel_scroll_lines=3 - -[SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\"\0\0\v:\0\0\x4\x1c\0\0\a\x80\0\0\0\"\0\0\xe\xff\0\0\x4\x37\0\0\0\0\x2\0\0\0\a\x80\0\0\a\x80\0\0\0\"\0\0\v:\0\0\x4\x1c) diff --git a/waybar/config b/waybar/config deleted file mode 100644 index 1b9626e..0000000 --- a/waybar/config +++ /dev/null @@ -1,231 +0,0 @@ -// Global -{ - "layer": "top", - "position": "top", - "margin": 5, - - // If height property would be not present, it'd be calculated dynamically - "height": 34, - - "modules-left": [ - "hyprland/workspaces", - ], - - "modules-center": [ - "clock", - ], - - "modules-right": [ - "tray", - // "idle_inhibitor", - "memory", - "cpu", - // "custom/keyboard-layout", - //"custom/PBPbattery", - // "backlight#icon", - "backlight#value", - "pulseaudio", - "pulseaudio#microphone", - "network", - "battery", - "custom/power", - ], - - // Modules - - "idle_inhibitor": { - "format": "{icon} ", - "format-icons":{ - "activated": "", - "deactivated": "" - } - }, - - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon} ", - "format-charging": "{capacity}% 󰂄", - "format-plugged": "{capacity}% ", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - - "custom/PBPbattery": { - "exec": "sh ~/.config/waybar/scripts/PBPbattery.sh", - "format": "{}", - }, - - "clock": { - "interval": 10, - // "format-alt": " {:%e %b %Y}", // Icon: calendar-alt - "format": "{:%e %b %Y %H:%M} ", - "tooltip-format": "{:%e %B %Y}" - }, - - "cpu": { - "interval": 5, - "format": " {usage}% ({load})", // Icon: microchip - "states": { - "warning": 70, - "critical": 90, - }, - "on-click": "alacritty -e 'btm'", - }, - - "custom/keyboard-layout": { - "exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4", - // Interval set only as a fallback, as the value is updated by signal - "interval": 30, - "format": " {}", // Icon: keyboard - // Signal sent by Sway key binding (~/.config/sway/key-bindings) - "signal": 1, // SIGHUP - "tooltip": false, - "on-click": "sh ~/.config/waybar/scripts/keyhint.sh", - }, - - "memory": { - "interval": 5, - "format": " {}%", // Icon: memory - "on-click": "alacritty -e 'btm'", - "states": { - "warning": 70, - "critical": 90 - } - }, - - "network": { - "interval": 5, - "format-wifi": " ", // Icon: wifi - "format-ethernet": " ", // Icon: ethernet - "format-disconnected": "⚠ Disconnected", - "tooltip-format": "{ifname}: {ipaddr}", - "on-click": "alacritty -e 'nmtui'", - }, - "network#vpn": { - "interface": "tun0", - "format": " ", - "format-disconnected": "⚠ Disconnected", - "tooltip-format": "{ifname}: {ipaddr}/{cidr}", - }, - - "hyprland/mode": { - "format": "{}", - "tooltip": false - }, - - "hyprland/window": { - "format": "{}", - "max-length": 120 - }, - - "hyrpland/workspaces": { - "format": "{icon}", - "on-scroll-up": "hyprctl dispatch workspace e+1", - "on-scroll-down": "hyprctl dispatch workspace e-1" - }, - - "pulseaudio": { - "scroll-step": 1, // %, can be a float - "format": "{icon} {volume}%", - "format-bluetooth": "{volume}% {icon}  {format_source}", - "format-bluetooth-muted": " {icon}  {format_source}", - "format-muted": "󰸈", - "format-icons": { - "headphone": "󰋋", - "hands-free": "וֹ", - "headset": "  ", - "phone": "", - "portable": "", - "car": "", - "default": [""] - }, - "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle", - "on-click-right": "pavucontrol", - "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2%", - "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2%", - }, - - "pulseaudio#microphone": { - "format": "{format_source}", - "format-source": " {volume}%", - "format-source-muted": " ", - "on-click": "pamixer --default-source -t", - "on-click-right": "pavucontrol", - "on-scroll-up": "pamixer --default-source -i 5", - "on-scroll-down": "pamixer --default-source -d 5", - "scroll-step": 5 - }, - - // to use the weather module replace with your city or town - // note: do not use spaces: new york would be newyork - "custom/weather": { - "exec": "sh ~/.config/waybar/scripts/weather.sh tampa", - "return-type": "json", - "interval": 600, - }, - - "tray": { - "icon-size": 18, - "spacing":10, - }, - - "backlight#icon": { - "format": "{icon}", - "on-scroll-down": "brightnessctl -c backlight set 1%-", - "on-scroll-up": "brightnessctl -c backlight set +1%" - }, - - "backlight#value" :{ - "format": "{icon} {percent}%", - "format-icons": [" "], - "on-scroll-down": "brightnessctl -c backlight set 1%-", - "on-scroll-up": "brightnessctl -c backlight set +1%" - }, - - "custom/firefox": { - "format": " ", - "on-click": "exec firefox", - "tooltip": false - }, - - "custom/terminal": { - "format": " ", - "on-click": "exec alacritty", - "tooltip": false - }, - - "custom/files": { - "format": " ", - "on-click": "exec nautilus", - "tooltip": false - }, - - "custom/launcher": { - "format":" ", - "on-click": "exec wofi -c ~/.config/wofi/config -I", - "tooltip": false, - }, - - "custom/power": { - "format":"⏻", - "on-click": "exec wlogout", - "tooltip": false, - }, - - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "󰗃" - }, - "escape": true, - "exec": "/usr/bin/python3 $HOME/.config/waybar/scripts/mediaplayer.py 2> /dev/null" // Script in resources folder - } -} diff --git a/waybar/scripts/PBPbattery.sh b/waybar/scripts/PBPbattery.sh deleted file mode 100755 index 1cf34da..0000000 --- a/waybar/scripts/PBPbattery.sh +++ /dev/null @@ -1,21 +0,0 @@ - -#!/bin/bash -#simple Shellscript for waybar/i3blocks/polybar on Pinebook pro -#05012020 geri123@gmx.net Gerhard S. - -PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity) -STATUS=$(cat /sys/class/power_supply/cw2015-battery/status) -case $(( - $PERCENT >= 0 && $PERCENT <= 20 ? 1 : - $PERCENT > 20 && $PERCENT <= 40 ? 2 : - $PERCENT > 40 && $PERCENT <= 60 ? 3 : - $PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in -# - (1) echo $STATUS:"":$PERCENT%;; - (2) echo $STATUS:"":$PERCENT%;; - (3) echo $STATUS:"":$PERCENT%;; - (4) echo $STATUS:"":$PERCENT%;; - (5) echo $STATUS:"":$PERCENT%;; -esac - - diff --git a/waybar/scripts/keyhint.sh b/waybar/scripts/keyhint.sh deleted file mode 100755 index 01f3396..0000000 --- a/waybar/scripts/keyhint.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list" diff --git a/waybar/scripts/mediaplayer.py b/waybar/scripts/mediaplayer.py deleted file mode 100644 index 5bf8f3b..0000000 --- a/waybar/scripts/mediaplayer.py +++ /dev/null @@ -1,127 +0,0 @@ -import argparse -import logging -import sys -import signal -import gi -import json -gi.require_version('Playerctl', '2.0') -from gi.repository import Playerctl, GLib - -logger = logging.getLogger(__name__) - - -def write_output(text, player): - logger.info('Writing output') - - output = {'text': text, - 'class': 'custom-' + player.props.player_name, - 'alt': player.props.player_name} - - sys.stdout.write(json.dumps(output) + '\n') - sys.stdout.flush() - - -def on_play(player, status, manager): - logger.info('Received new playback status') - on_metadata(player, player.props.metadata, manager) - - -def on_metadata(player, metadata, manager): - logger.info('Received new metadata') - track_info = '' - - if player.props.player_name == 'spotify' and \ - 'mpris:trackid' in metadata.keys() and \ - ':ad:' in player.props.metadata['mpris:trackid']: - track_info = 'AD PLAYING' - elif player.get_artist() != '' and player.get_title() != '': - track_info = '{artist} - {title}'.format(artist=player.get_artist(), - title=player.get_title()) - else: - track_info = player.get_title() - - if player.props.status != 'Playing' and track_info: - track_info = ' ' + track_info - write_output(track_info, player) - - -def on_player_appeared(manager, player, selected_player=None): - if player is not None and (selected_player is None or player.name == selected_player): - init_player(manager, player) - else: - logger.debug("New player appeared, but it's not the selected player, skipping") - - -def on_player_vanished(manager, player): - logger.info('Player has vanished') - sys.stdout.write('\n') - sys.stdout.flush() - - -def init_player(manager, name): - logger.debug('Initialize player: {player}'.format(player=name.name)) - player = Playerctl.Player.new_from_name(name) - player.connect('playback-status', on_play, manager) - player.connect('metadata', on_metadata, manager) - manager.manage_player(player) - on_metadata(player, player.props.metadata, manager) - - -def signal_handler(sig, frame): - logger.debug('Received signal to stop, exiting') - sys.stdout.write('\n') - sys.stdout.flush() - # loop.quit() - sys.exit(0) - - -def parse_arguments(): - parser = argparse.ArgumentParser() - - # Increase verbosity with every occurrence of -v - parser.add_argument('-v', '--verbose', action='count', default=0) - - # Define for which player we're listening - parser.add_argument('--player') - - return parser.parse_args() - - -def main(): - arguments = parse_arguments() - - # Initialize logging - logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, - format='%(name)s %(levelname)s %(message)s') - - # Logging is set by default to WARN and higher. - # With every occurrence of -v it's lowered by one - logger.setLevel(max((3 - arguments.verbose) * 10, 0)) - - # Log the sent command line arguments - logger.debug('Arguments received {}'.format(vars(arguments))) - - manager = Playerctl.PlayerManager() - loop = GLib.MainLoop() - - manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player)) - manager.connect('player-vanished', on_player_vanished) - - signal.signal(signal.SIGINT, signal_handler) - signal.signal(signal.SIGTERM, signal_handler) - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - for player in manager.props.player_names: - if arguments.player is not None and arguments.player != player.name: - logger.debug('{player} is not the filtered player, skipping it' - .format(player=player.name) - ) - continue - - init_player(manager, player) - - loop.run() - - -if __name__ == '__main__': - main() diff --git a/waybar/scripts/weather.sh b/waybar/scripts/weather.sh deleted file mode 100755 index b03cd1c..0000000 --- a/waybar/scripts/weather.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -LOC="$1" -# HTML encode string as %20 -LOCATION=$(sed -e "s/ /%20/g" <<<"$LOC") -content=$(curl -sS "https://thisdavej.azurewebsites.net/api/weather/current?loc=$LOCATION°=C") -ICON=$(curl -s 'https://wttr.in/?format=1' | sed 's/[+0-9a-cA-Z°-]//g' ) -# echo $ICON -TEMP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)"' | sed 's/"//g') -TOOLTIP=$(echo $content | jq -r '. | "\(.temperature)°\(.degType)\n\(.skytext)"' | sed 's/"//g') -CLASS=$(echo $content | jq .skytext) -echo '{"text": "'$TEMP'", "tooltip": "'$ICON $TOOLTIP $LOC'", "class": '$CLASS' }' - diff --git a/waybar/style.css b/waybar/style.css deleted file mode 100644 index 1005a4b..0000000 --- a/waybar/style.css +++ /dev/null @@ -1,246 +0,0 @@ -/* ============================================================================= - * - * Waybar configuration - * - * Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration - * - * =========================================================================== */ - -/* ----------------------------------------------------------------------------- - * Keyframes - * -------------------------------------------------------------------------- */ - -/* -Arc-Dark Color Scheme -*/ -@keyframes blink-warning { - 70% { - color: white; - } - - to { - color: white; - background-color: orange; - } -} - -@keyframes blink-critical { - 70% { - color: white; - } - - to { - color: white; - background-color: red; - } -} - -/* ----------------------------------------------------------------------------- - * Base styles - * -------------------------------------------------------------------------- */ - -/* Reset all styles */ -* { - border: none; - border-radius: 0; - min-height: 0; - margin: 1px; - padding: 0; - color: #66ACED; -} - - -/* The whole bar */ -window#waybar { - /* color: #dfdfdf; */ - /* background-color: rgba(0,0,0,0.8); */ - /* background-color: rgba(8,0,37,0.85); */ - background-color: rgba(0,0,0,0); - /* font-family: JetBrains Mono Nerd Font; */ - font-family: Intel One Mono Nerd Font; - font-size: 14px; - /* border-radius: 22px; */ -} - -/* Every modules */ -#battery, -#clock, -#backlight, -#cpu, -#custom-keyboard-layout, -#memory, -#mode, -#custom-weather, -#network, -#pulseaudio, -#temperature, -#tray, -#idle_inhibitor, -#window, -#custom-power, -#workspaces, -#custom-media, -#custom-PBPbattery { - padding:0.25rem 0.75rem; - margin: 1px 6px; - background-color: rgba(0,0,0,0.8); - border-radius: 20px; -} - -/* ----------------------------------------------------------------------------- - * Modules styles - * -------------------------------------------------------------------------- */ - -#clock { - /* color: #ff4499; */ - color: #73daca; -} - -#custom-weather { - color: #ff4499; -} - -#battery { - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#battery.warning { - color: orange; -} - -#battery.critical { - color: red; -} - -#battery.warning.discharging { - animation-name: blink-warning; - animation-duration: 3s; -} - -#battery.critical.discharging { - animation-name: blink-critical; - animation-duration: 2s; -} - -#cpu { - color: #f7768e; -} - -#cpu.warning { - color: orange; -} - -#cpu.critical { - color: red; -} - -#memory { - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - color: #f7768e; -} - -#memory.warning { - color: orange; - } - -#memory.critical { - color: red; - animation-name: blink-critical; - animation-duration: 2s; - padding-left:5px; - padding-right:5px; -} - -#mode { - /* background: @highlight; */ - /* background: #dfdfdf; */ - border-bottom: 3px transparent; - color:#ff4499; - margin-left: 5px; - padding: 7px; -} - -#network.disconnected { - color: orange; -} - -#pulseaudio { - color: #bb9af7; - border-left: 0px; - border-right: 0px; - margin-right: 0; - border-radius: 20px 0 0 20px; -} - -/* #pulseaudio.muted { */ -/* color: #ff4499; */ -/* } */ -/**/ -#pulseaudio.microphone { - border-left: 0px; - border-right: 0px; - margin-left: 0; - padding-left: 0; - border-radius: 0 20px 20px 0; -} - -/* #pulseaudio.microphone.muted { */ -/* color: #ff4499; */ -/* } */ - - -#temperature.critical { - color: red; -} - -#window { - font-weight: bold; - color: #f7768e; -} - -#custom-media { - color: #bb9af7; -} - -#workspaces { - font-size:16px; - background-color: rgba(0,0,0,0.8); - border-radius: 20px; -} - -#workspaces button { - border-bottom: 3px solid transparent; - margin-bottom: 0px; - color: #dfdfdf; -} - -#workspaces button.active { - border-bottom: 1px solid #ff4499; - margin-bottom: 1px; - padding-left:0; -} - -#workspaces button.urgent { - border-color: #c9545d; - color: #c9545d; -} - -#custom-power { - font-size:18px; - padding-right: 1rem; -} - -#custom-launcher { - font-size:15px; - margin-left:15px; - margin-right:10px; -} - -#backlight.icon { - padding-right:1px; - font-size: 13px; -} diff --git a/wlogout/icons/hibernate-hover.png b/wlogout/icons/hibernate-hover.png deleted file mode 100644 index 1f07a2c..0000000 Binary files a/wlogout/icons/hibernate-hover.png and /dev/null differ diff --git a/wlogout/icons/hibernate.png b/wlogout/icons/hibernate.png deleted file mode 100644 index bf2b001..0000000 Binary files a/wlogout/icons/hibernate.png and /dev/null differ diff --git a/wlogout/icons/lock-hover.png b/wlogout/icons/lock-hover.png deleted file mode 100644 index 8fb86fe..0000000 Binary files a/wlogout/icons/lock-hover.png and /dev/null differ diff --git a/wlogout/icons/lock.png b/wlogout/icons/lock.png deleted file mode 100644 index 430451c..0000000 Binary files a/wlogout/icons/lock.png and /dev/null differ diff --git a/wlogout/icons/logout-hover.png b/wlogout/icons/logout-hover.png deleted file mode 100644 index 9e570a9..0000000 Binary files a/wlogout/icons/logout-hover.png and /dev/null differ diff --git a/wlogout/icons/logout.png b/wlogout/icons/logout.png deleted file mode 100644 index 128c995..0000000 Binary files a/wlogout/icons/logout.png and /dev/null differ diff --git a/wlogout/icons/power-hover.png b/wlogout/icons/power-hover.png deleted file mode 100644 index 122d331..0000000 Binary files a/wlogout/icons/power-hover.png and /dev/null differ diff --git a/wlogout/icons/power.png b/wlogout/icons/power.png deleted file mode 100644 index ce56166..0000000 Binary files a/wlogout/icons/power.png and /dev/null differ diff --git a/wlogout/icons/restart-hover.png b/wlogout/icons/restart-hover.png deleted file mode 100644 index 3e18536..0000000 Binary files a/wlogout/icons/restart-hover.png and /dev/null differ diff --git a/wlogout/icons/restart.png b/wlogout/icons/restart.png deleted file mode 100644 index 7855d40..0000000 Binary files a/wlogout/icons/restart.png and /dev/null differ diff --git a/wlogout/icons/sleep-hover.png b/wlogout/icons/sleep-hover.png deleted file mode 100644 index 0fd3bad..0000000 Binary files a/wlogout/icons/sleep-hover.png and /dev/null differ diff --git a/wlogout/icons/sleep.png b/wlogout/icons/sleep.png deleted file mode 100644 index 6a3d607..0000000 Binary files a/wlogout/icons/sleep.png and /dev/null differ diff --git a/wlogout/layout b/wlogout/layout deleted file mode 100644 index 6841651..0000000 --- a/wlogout/layout +++ /dev/null @@ -1,36 +0,0 @@ -{ - "label" : "lock", - "action" : "swaylock", - "text" : "Lock", - "keybind" : "l" -} -{ - "label" : "hibernate", - "action" : "systemctl hibernate", - "text" : "Hibernate", - "keybind" : "h" -} -{ - "label" : "logout", - "action" : "loginctl terminate-user $USER", - "text" : "Logout", - "keybind" : "e" -} -{ - "label" : "shutdown", - "action" : "systemctl poweroff", - "text" : "Shutdown", - "keybind" : "s" -} -{ - "label" : "suspend", - "action" : "systemctl suspend", - "text" : "Suspend", - "keybind" : "u" -} -{ - "label" : "reboot", - "action" : "systemctl reboot", - "text" : "Reboot", - "keybind" : "r" -} \ No newline at end of file diff --git a/wlogout/readme.md b/wlogout/readme.md deleted file mode 100644 index 5416c88..0000000 --- a/wlogout/readme.md +++ /dev/null @@ -1,8 +0,0 @@ -# Wlogout -Make sure to link layout file with -```Bash -sudo ln ./wlogout/layout /etc/wlogout/layout -``` - -Icons borrowed with pride from -[gaesch](https://github.com/gasech/hyprland-dots/tree/main) \ No newline at end of file diff --git a/wlogout/style.css b/wlogout/style.css deleted file mode 100644 index 41c20a0..0000000 --- a/wlogout/style.css +++ /dev/null @@ -1,69 +0,0 @@ -window { - font-family: JetBrainsMono Nerd Font, monospace; - font-size: 12pt; - color: #cdd6f4; - background-color: rgba(30, 30, 46, 0.5); -} - -button { - background-repeat: no-repeat; - background-position: center; - background-size: 20%; - border: none; - color: #ced7f4; - text-shadow: none; - background-color: rgba(30, 30, 46, 0); - margin: 5px; - transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; -} - -button:hover { - background-color: rgba(49, 50, 68, 0.1); -} - -button:focus { - background-color: #5e81ac; - color: #18182a; - text-shadow: none; -} - -#lock { - background-image: image(url("./icons/lock.png")); -} -#lock:focus { - background-image: image(url("./icons/lock-hover.png")); -} - -#logout { - background-image: image(url("./icons/logout.png")); -} -#logout:focus { - background-image: image(url("./icons/logout-hover.png")); -} - -#suspend { - background-image: image(url("./icons/sleep.png")); -} -#suspend:focus { - background-image: image(url("./icons/sleep-hover.png")); -} - -#shutdown { - background-image: image(url("./icons/power.png")); -} -#shutdown:focus { - background-image: image(url("./icons/power-hover.png")); -} - -#reboot { - background-image: image(url("./icons/restart.png")); -} -#reboot:focus { - background-image: image(url("./icons/restart-hover.png")); -} -#hibernate { - background-image: image(url("./icons/hibernate.png")); -} -#hibernate:focus { - background-image: image(url("./icons/hibernate-hover.png")); -} \ No newline at end of file diff --git a/wofi/config b/wofi/config deleted file mode 100644 index ffe064e..0000000 --- a/wofi/config +++ /dev/null @@ -1,32 +0,0 @@ -# hide_scroll=true -# show=drun -# width=35% -# lines=15 -# line_wrap=word -# term=alacritty -# allow_markup=true -# always_parse_args=true -# show_all=true -# print_command=true -# layer=overlay -# allow_images=true -# insensitive=true -# prompt= -# image_size=15 -# display_generic=true -# location=center - -width=700 -height=350 -show=drun -prompt=Search... -filter_rate=100 -allow_markup=true -no_actions=true -halign=fill -orientation=vertical -content_halign=fill -insensitive=true -allow_images=true -image_size=30 -gtk_dark=true diff --git a/wofi/config.screenshot b/wofi/config.screenshot deleted file mode 100644 index d18a3c8..0000000 --- a/wofi/config.screenshot +++ /dev/null @@ -1,9 +0,0 @@ -hide_search=true -hide_scroll=true -insensitive=true -width=1 -show=dmenu -lines=5 -location=centre -x=870 -y=455 diff --git a/wofi/style.css b/wofi/style.css deleted file mode 100644 index ea202ca..0000000 --- a/wofi/style.css +++ /dev/null @@ -1,61 +0,0 @@ -/* -Arc-Dark Color Scheme -*/ - -/* @define-color highlight #e30b9b; */ -@define-color highlight #f7768e; -@define-color base1 rgba(0,0,0,0.2); -@define-color base2 rgba(0,0,0,0.8); -@define-color base3 rgba(0,0,0,0.1); - -*{ - font-family: JetBrains Mono Nerd Font; -} - -window { - /* border: 1px solid @highlight; */ - border-radius: 18px; - /* background: rgba(0,0,0,0); */ - color: #bb9af7; - position: relative; - background: linear-gradient(to bottom right, #73daca, #f7768e); - padding: 1px; -} - -#input { - margin-bottom: 15px; - padding:3px; - border-radius: 5px; - border:none; - outline:none; - /* color: white; */ - color: #bb9af7; - /* background: @base1; */ - background-color: #0a0a0a; -} - -#inner-box { - /* background: @base3; */ -} - -#outer-box { - margin: 3px; - padding:15px; - background-color: #0a0a0a; - border-radius: 8px; -} - -#text { - padding: 5px; -} - -/* #entry:nth-child(even) { */ -/* background-color: @base1; */ -/* } */ - -#entry:selected { - color: black; - background-color: @highlight; - border:none; - outline:none; -} diff --git a/wofi/style.widgets.css b/wofi/style.widgets.css deleted file mode 100644 index 222d0bb..0000000 --- a/wofi/style.widgets.css +++ /dev/null @@ -1,49 +0,0 @@ -/* -Arc-Dark Color Scheme -*/ - -@define-color highlight #f7768e; -@define-color base1 rgba(0,0,0,0.6); -@define-color base2 rgba(0,0,0,0.8); -@define-color base3 rgba(0,0,0,0.1); - -*{ - font-family: JetBrainsMono; - /* height: fit-content; */ -} - -#window { - border: 2px solid @highlight; - border-radius: 4px; - background-color: rgba(0,0,0,0); - color: #bb9af7; - padding: 5px; -} - -#inner-box { - background-color: @base1; - /* background-color: @base2; */ -} - -#outer-box { - /*margin: 5px; - padding:5px 10px; - */ - border-radius: 4px; - margin-top: -32px; - -} - -#text { - padding: 5px; - /* color: white; */ -} - -#entry:nth-child(even) { - /* background-color: pink; */ -} - -#entry:selected { -color: black; - background-color: @highlight; -} diff --git a/wofi/windows.py b/wofi/windows.py deleted file mode 100755 index 6b41a60..0000000 --- a/wofi/windows.py +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/python3 -import json -import subprocess -from argparse import ArgumentParser - -ENTER = "\n" - - -def get_windows(): - - command = "swaymsg -t get_tree" - process = subprocess.Popen( - command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE - ) - - process = subprocess.Popen( - command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE - ) - data = json.loads(process.communicate()[0]) - - # Select outputs that are active - windows = [] - for output in data["nodes"]: - - # The scratchpad (under __i3) is not supported - if output.get("name") != "__i3" and output.get("type") == "output": - workspaces = output.get("nodes", []) - for ws in workspaces: - if ws.get("type") == "workspace": - windows.extend(extract_nodes_iterative(ws)) - return windows - - -# Extracts all windows from a sway workspace json object -def extract_nodes_iterative(workspace): - all_nodes = [] - - floating_nodes = workspace.get("floating_nodes", []) - - for floating_node in floating_nodes: - all_nodes.append(floating_node) - - nodes = workspace.get("nodes", []) - - for node in nodes: - - # Leaf node - if not node.get("nodes"): - all_nodes.append(node) - # Nested node, handled iterative - else: - for inner_node in node.get("nodes"): - nodes.append(inner_node) - - return all_nodes - - -# Returns an array of all windows -def parse_windows(windows): - return [window.get("name") for window in windows] - - -# Returns a newline seperated UFT-8 encoded string of all windows for wofi -def build_wofi_string(windows): - return ENTER.join(windows).encode("UTF-8") - - -# Executes wofi with the given input string -def show_wofi(windows): - - command = 'wofi -c ~/.config/wofi/menu -s ~/.config/wofi/style.css -p "Windows: " -d -i --hide-scroll' - - process = subprocess.Popen( - command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE - ) - return process.communicate(input=windows)[0] - - -# Returns the sway window id of the window that was selected by the user inside wofi -def parse_id(windows, parsed_windows, selected): - if not selected: - return None - else: - selected = (selected.decode("UTF-8"))[:-1] # Remove new line character - window_index = int( - parsed_windows.index(selected) - ) # Get index of selected window in the parsed window array - return str( - windows[window_index].get("id") - ) # Get sway window id based on the index - - -# Switches the focus to the given id -def switch_window(id): - command = "swaymsg [con_id={}] focus".format(id) - - process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) - process.communicate()[0] - - -# Entry point -if __name__ == "__main__": - - parser = ArgumentParser(description="Wofi based window switcher") - - windows = get_windows() - - parsed_windows = parse_windows(windows) - - wofi_string = build_wofi_string(parsed_windows) - - selected = show_wofi(wofi_string) - - # Otherwise no point in running - if selected: - - selected_id = parse_id(windows, parsed_windows, selected) - - switch_window(selected_id)