From c43e29463b6c254d46d91450911433be6c5a6e05 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 16 Oct 2024 19:26:28 +0200 Subject: Moved session management to session_manager.sh --- .profile | 137 ++++----------------------------------------------------------- 1 file changed, 7 insertions(+), 130 deletions(-) diff --git a/.profile b/.profile index b4379f1..623fbb0 100644 --- a/.profile +++ b/.profile @@ -1,139 +1,16 @@ -#!/bin/sh +#!/bin/bash -#. ~/.env +#if [ "$(tty)" = "/dev/tty1" -a -z "$(printenv HYPRLAND_INSTANCE_SIGNATURE)" ]; then +if [ "$DISPLAY" = "" ] && [ "$XDG_VTNR" -eq 1 ]; then + exec ~/.scripts/session_manager.sh +fi -#if [ -n "$DISPLAY" ] && [ -n "$XAUTHORITY" ] && [ "$SHLVL" -eq '1' ]; then -# /usr/bin/dunst & -#fi - -# Default session to be executed -unset DISPLAY XAUTHORITY -session="" - -#pgrep bspwm || startx "$HOME"/.config/X11/.xinitrc -#startx "$HOME"/.config/X11/.xinitrc - -# Function to display and start the selected session -display() { - # Default list of sessions in priority order - default_sessions=("Hyprland" "bspwm" "sway") - - # Check conditions and set session command - if [ "$DISPLAY" = "" ] && [ "$XDG_VTNR" -eq 1 ]; then - if [ -f ~/.session ]; then - session=$(cat ~/.session) - rm ~/.session # Remove the session file after reading - fi - - if [ "$session" != "" ]; then - case "$session" in - bspwm ) - export XDG_SESSION_TYPE="x11" - session="startx /usr/bin/bspwm" - #session="pgrep bspwm || startx $HOME/.config/X11/.xinitrc" - #session="pgrep bspwm || (unset DISPLAY XAUTHORITY; startx $HOME/.config/X11/.xinitrc)" - #session="startx /home/srdusr/.config/X11/.xinitrc" - #session="exec bspwm -name login" - ;; - Hyprland | sway) - #session="exec $session" - session="dbus-run-session $session" - ;; - *) - echo "Session $session is not supported." - session="" - ;; - esac - else - # Iterate through default sessions to find a suitable one - for wm in "${default_sessions[@]}"; do - if command -v "$wm" >/dev/null 2>&1; then - case "$wm" in - bspwm ) - export XDG_SESSION_TYPE="x11" - session="startx /usr/bin/$wm" - #session="pgrep bspwm || startx $HOME/.config/X11/.xinitrc" - #session="pgrep bspwm || (unset DISPLAY XAUTHORITY; startx $HOME/.config/X11/.xinitrc)" - #session="startx /home/srdusr/.config/X11/.xinitrc" - #session="exec bspwm -name login" - break - ;; - Hyprland | sway) - #session="exec $wm" - session="dbus-run-session $wm" - break - ;; - esac - fi - done - fi - - # Execute the session command if session is set - if [ "$session" != "" ]; then - echo "Starting session: $session" - eval "$session" - else - echo "No suitable window manager found or conditions not met." - fi - fi -} - -# Zsh -zsh() { +load_zsh_env() { if [ "$ZSH_VERSION" != "" ]; then - # Source zsh environment if it exists if [ -f ~/.config/zsh/.zshenv ]; then . ~/.config/zsh/.zshenv fi fi } -# GnuPG -gnupg() { - if ! pgrep -x "gpg-agent" >/dev/null 2>&1 && command -v gpg-agent >/dev/null 2>&1; then - echo 'Launching GPG agent...' - eval "$(gpg-agent --daemon)" - fi -} - -# D-Bus -dbus() { - if [ "$DBUS_SESSION_BUS_ADDRESS" = "" ]; then - if command -v dbus-launch >/dev/null 2>&1; then - echo 'Launching D-BUS per-session daemon...' - eval "$(dbus-launch --sh-syntax --exit-with-session)" - echo "D-BUS per-session daemon address: ${DBUS_SESSION_BUS_ADDRESS}" - fi - fi - dbus-update-activation-environment --systemd --all -} - -# Gnome Keyring Daemon -gnome_keyring() { - if command -v gnome-keyring-daemon >/dev/null 2>&1; then - echo 'Launching/reinitializing Gnome keyring daemon...' - eval "$(gnome-keyring-daemon --daemonize --start --components=ssh,secrets,pkcs11)" - echo - export SSH_AUTH_SOCK - fi -} - -# PolKit -polkit() { - if [ -x /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 ]; then - echo 'Launching PolicyKit agent...' - /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & - fi -} - -# Main -main() { - zsh - gnupg - dbus - gnome_keyring - polkit - display -} - -main "$@" +load_zsh_env -- cgit v1.2.3