diff --git a/bin/sp-profile-icon b/bin/sp-profile-icon index df12a79..0b70207 100755 --- a/bin/sp-profile-icon +++ b/bin/sp-profile-icon @@ -2,4 +2,4 @@ source "/usr/lib/sp-functions" -get_profile_icon +get_profile_icon `cat ~/.cache/sway-profiles/active_profile` diff --git a/debian/.debhelper/generated/sway-profiles/dh_installchangelogs.dch.trimmed b/debian/.debhelper/generated/sway-profiles/dh_installchangelogs.dch.trimmed new file mode 100644 index 0000000..aa4d0dc --- /dev/null +++ b/debian/.debhelper/generated/sway-profiles/dh_installchangelogs.dch.trimmed @@ -0,0 +1,59 @@ +sway-profiles (0.3.7) unstable; urgency=medium + + * sp-profile-icon now returns active profile rather than active workspace profile + + -- Penelope Gwen Tue, 29 Oct 2024 14:17:59 -0700 + +sway-profiles (0.3.6) unstable; urgency=medium + + * make clipboard length customizable + + -- Penelope Gwen Fri, 26 Jul 2024 13:29:45 -0600 + +sway-profiles (0.3.5) unstable; urgency=medium + + * disable unnecessary waybar reload + + -- Penelope Gwen Tue, 25 Jun 2024 02:32:59 -0600 + +sway-profiles (0.3.4) unstable; urgency=medium + + * ensure that gtklock uses css file + + -- Penelope Gwen Sat, 15 Jun 2024 22:53:59 -0600 + +sway-profiles (0.3.3) unstable; urgency=medium + + * use gtklock instead of swaylock + + -- Penelope Gwen Sat, 15 Jun 2024 12:15:42 -0600 + +sway-profiles (0.3.2) unstable; urgency=medium + + * added some basic waybar integration + + -- Penelope Gwen Tue, 11 Jun 2024 13:12:58 -0600 + +sway-profiles (0.3.1) unstable; urgency=medium + + * added sp-lock lock scripts + + -- Penelope Gwen Wed, 05 Jun 2024 15:44:39 -0600 + +sway-profiles (0.3) unstable; urgency=medium + + * added sp-lock unlock scripts + + -- Penelope Gwen Wed, 05 Jun 2024 15:29:28 -0600 + +sway-profiles (0.2) unstable; urgency=medium + + * Remove dangling option from sp-powermenu. + + -- Penelope Gwen Thu, 4 Jun 2024 04:08:33 -0600 + +sway-profiles (0.1) unstable; urgency=medium + + * Initial release. + + -- Penelope Gwen Thu, 3 Jun 2024 19:41:19 -0600 diff --git a/debian/.debhelper/generated/sway-profiles/installed-by-dh_install b/debian/.debhelper/generated/sway-profiles/installed-by-dh_install new file mode 100644 index 0000000..d6d87da --- /dev/null +++ b/debian/.debhelper/generated/sway-profiles/installed-by-dh_install @@ -0,0 +1,12 @@ +./bin/sp-clipboard +./bin/sp-global-shortcuts +./bin/sp-launcher +./bin/sp-lock +./bin/sp-powermenu +./bin/sp-profile-icon +./bin/sp-profiles +./bin/sp-rename +./bin/sp-screenshot +./bin/sp-shortcuts +./bin/sp-wallpaper +./lib/sp-functions diff --git a/debian/.debhelper/generated/sway-profiles/installed-by-dh_installdocs b/debian/.debhelper/generated/sway-profiles/installed-by-dh_installdocs new file mode 100644 index 0000000..e69de29 diff --git a/debian/changelog b/debian/changelog index 9791faf..aa4d0dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +sway-profiles (0.3.7) unstable; urgency=medium + + * sp-profile-icon now returns active profile rather than active workspace profile + + -- Penelope Gwen Tue, 29 Oct 2024 14:17:59 -0700 + sway-profiles (0.3.6) unstable; urgency=medium * make clipboard length customizable diff --git a/debian/debhelper-build-stamp b/debian/debhelper-build-stamp new file mode 100644 index 0000000..38ee620 --- /dev/null +++ b/debian/debhelper-build-stamp @@ -0,0 +1 @@ +sway-profiles diff --git a/debian/files b/debian/files new file mode 100644 index 0000000..4472002 --- /dev/null +++ b/debian/files @@ -0,0 +1,2 @@ +sway-profiles_0.3.7_all.deb X11 optional +sway-profiles_0.3.7_amd64.buildinfo X11 optional diff --git a/debian/sway-profiles.substvars b/debian/sway-profiles.substvars new file mode 100644 index 0000000..978fc8b --- /dev/null +++ b/debian/sway-profiles.substvars @@ -0,0 +1,2 @@ +misc:Depends= +misc:Pre-Depends= diff --git a/debian/sway-profiles/DEBIAN/control b/debian/sway-profiles/DEBIAN/control new file mode 100644 index 0000000..84edf01 --- /dev/null +++ b/debian/sway-profiles/DEBIAN/control @@ -0,0 +1,14 @@ +Package: sway-profiles +Version: 0.3.7 +Architecture: all +Maintainer: Penelope Gwen +Installed-Size: 30 +Depends: swaybg, jq +Recommends: wofi, fonts-font-awesome, gtklock, imagemagick +Suggests: copyq, sway-screenshot +Section: X11 +Priority: optional +Homepage: https://git.pogmom.me/pogmommy/sway-profiles +Description: Some scripts to organize workflows on sway + A handful of useful bash scripts that let you organize + your sway workspaces into profiles diff --git a/debian/sway-profiles/DEBIAN/md5sums b/debian/sway-profiles/DEBIAN/md5sums new file mode 100644 index 0000000..3f11c37 --- /dev/null +++ b/debian/sway-profiles/DEBIAN/md5sums @@ -0,0 +1,15 @@ +4100fcf94c18a008155fb9c3159fcb22 usr/bin/sp-clipboard +b6f043cb7b206fa5a3c39cb27947b312 usr/bin/sp-global-shortcuts +cd67251212057f9c34530c11ac207c59 usr/bin/sp-launcher +38858053ab4812f56428cce5fe4384c2 usr/bin/sp-lock +80cab1f780c7698e1bda2372a8312d35 usr/bin/sp-powermenu +e74f597bfab09d3115a9d0d2162e132c usr/bin/sp-profile-icon +cba2c2614edb7b55e580403b4860f6be usr/bin/sp-profiles +4b6903aaee1f87fc7a9b5726f28a2c73 usr/bin/sp-rename +9a9efb90e993fdd2cafcf2477eadad6e usr/bin/sp-screenshot +a7b96bed0ed0154380fbf1812a29c087 usr/bin/sp-shortcuts +c4dc5ee97596c7e435e5cfb4bca83fec usr/bin/sp-wallpaper +0302e639499885ac8abd7d1f52f77fbd usr/lib/sp-functions +5e44407925ad33fe9b92e538ed776ac4 usr/share/doc/sway-profiles/README.Debian +764936ed964c4dc0d16343b1e063294d usr/share/doc/sway-profiles/changelog.gz +be67991063b81dfce896888bb802c2a0 usr/share/doc/sway-profiles/copyright diff --git a/debian/sway-profiles/DEBIAN/postinst b/debian/sway-profiles/DEBIAN/postinst new file mode 100755 index 0000000..7ce3583 --- /dev/null +++ b/debian/sway-profiles/DEBIAN/postinst @@ -0,0 +1,4 @@ +#!/bin/bash + +#mkdir -p /etc/greetd +#update-alternatives --install /etc/greetd/config.toml greetd /usr/share/greetd/pogmom/config.toml 30 --force diff --git a/debian/sway-profiles/DEBIAN/postrm b/debian/sway-profiles/DEBIAN/postrm new file mode 100755 index 0000000..3ce1856 --- /dev/null +++ b/debian/sway-profiles/DEBIAN/postrm @@ -0,0 +1,3 @@ +#!/bin/bash + +#update-alternatives --remove greetd /usr/share/greetd/pogmom/config.toml diff --git a/debian/sway-profiles/usr/bin/sp-clipboard b/debian/sway-profiles/usr/bin/sp-clipboard new file mode 100755 index 0000000..a7bcf91 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-clipboard @@ -0,0 +1,22 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" +source "${conf_dir}/config" + +cb_count=$(copyq count) +cb_count="${clipboard_length}" + +wofilist="" + +for i in $(seq $cb_count);do + cb_line="$( copyq read $((${i}-1)) | tr '\n' ' ' )" + if [[ "${cb_line}" == "" ]];then + cb_line=$( copyq read ? "$((${i}-1))" | head -n 1 ) + fi + wofilist="${wofilist}${setnl}${i}. ${cb_line}" + setnl="\n" +done + +selected=$( echo -e "${wofilist}" | wofi -i --dmenu -k /dev/null | cut -d. -f1) + +copyq select "$(( ${selected}-1)) " diff --git a/debian/sway-profiles/usr/bin/sp-global-shortcuts b/debian/sway-profiles/usr/bin/sp-global-shortcuts new file mode 100755 index 0000000..a4d20c7 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-global-shortcuts @@ -0,0 +1,8 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" + +options=$( ls "${conf_dir}/global-shortcuts/" ) +op=$( echo -e "${options}" | wofi -i --dmenu | awk '{print}' ) + +"${conf_dir}/global-shortcuts/${op}" diff --git a/debian/sway-profiles/usr/bin/sp-launcher b/debian/sway-profiles/usr/bin/sp-launcher new file mode 100755 index 0000000..9821930 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-launcher @@ -0,0 +1,17 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" +source "${conf_dir}/config" + +case $1 in + file_manager ) + launch_exec=${filemanager_cmd} + launch_arg=$( jq -r .[].home_directory "${conf_dir}/profiles/$( get_profile_id )/vars.json" ) + ;; + browser ) + launch_exec=${browser_cmd} + launch_arg=$( jq -r .[].browser_profile "${conf_dir}/profiles/$( get_profile_id )/vars.json" ) + ;; +esac + +bash -c "${launch_exec} ${launch_arg}" diff --git a/debian/sway-profiles/usr/bin/sp-lock b/debian/sway-profiles/usr/bin/sp-lock new file mode 100755 index 0000000..7e01368 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-lock @@ -0,0 +1,24 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" +lock_script="${conf_dir}/lockscript" +unlock_script="${conf_dir}/unlockscript" + +outputs=( $(swaymsg -t get_outputs | jq -r '.[] | {name} | "\(.name)"') ) + +for o in ${outputs[@]};do + workspace=$(swaymsg -t get_workspaces | jq -r '.[] | select(.output) | {name} | "\(.name)"') + wpno=$(cat "${cache_dir}/displays/${o}") + wp_imgpath="${conf_dir}/wallpaper/${o}/${wpno}.jpg" + sl_imgpath="${cache_dir}/lock/${o}.jpg" + convert -scale 10% -blur 0x3 -resize 500% "${wp_imgpath}" "${sl_imgpath}" + sl_args="${sl_args}--image ${o}:${sl_imgpath} " +done + +if [ -f "${lock_script}" ]; then + bash -c "${lock_script}" +fi +gtklock -s "${HOME}/.config/gtklock/style.css" +if [ -f "${unlock_script}" ]; then + bash -c "${unlock_script}" +fi diff --git a/debian/sway-profiles/usr/bin/sp-powermenu b/debian/sway-profiles/usr/bin/sp-powermenu new file mode 100755 index 0000000..7205ebe --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-powermenu @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +op=$( echo -e "⏻ Poweroff\n Reboot\n Suspend\n🔒 Lock\n Logout" | wofi -i --dmenu -a | awk '{print tolower($2)}' ) +case $op in + poweroff) + ;& + reboot) + ;& + suspend) + systemctl $op + ;; + lock) + sp-lock + ;; + logout) + swaymsg exit + ;; +esac diff --git a/debian/sway-profiles/usr/bin/sp-profile-icon b/debian/sway-profiles/usr/bin/sp-profile-icon new file mode 100755 index 0000000..0b70207 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-profile-icon @@ -0,0 +1,5 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" + +get_profile_icon `cat ~/.cache/sway-profiles/active_profile` diff --git a/debian/sway-profiles/usr/bin/sp-profiles b/debian/sway-profiles/usr/bin/sp-profiles new file mode 100755 index 0000000..b8046a7 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-profiles @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +source "/usr/lib/sp-functions" + +get_profile_list + +case $1 in + next|prev) + current_profile=$(cat "${cache_dir}/active_profile") + echo ${current_profile} + ;;& + next) + new_profile=$(( ${current_profile}+1 )) + [[ "$new_profile" -eq "${p_count}" ]] && new_profile=0 + ;;& + prev) + new_profile=$(( ${current_profile}-1 )) + [[ "$new_profile" -eq "-1" ]] && new_profile=3 + ;;& + prev|next) + op=$(printf "%01d\n" ${new_profile}) + ;; + *) + for (( p="0"; p<${p_count}; p++ ));do + [[ $p -eq $(( ${p_count} - 1 )) ]] && nl="" || nl="\n" + wofilist="${wofilist}${p_icons[$p]} ${p_names[$p]}${nl}" + done + [[ -z $1 ]] && op=$( echo -e "${wofilist}" | wofi -i --dmenu --width 250 --height 320 -k /dev/null | awk '{print $2}' ) || op="${1}" + op=$(echo ${p_names[@]/$op//} | cut -d/ -f1 | wc -w | tr -d ' ') + ;; +esac + +[[ "$op" -gt "$(( $p_count - 1 ))" ]] && exit +[[ $op -eq "0" ]] && p_num="" || p_num="$op" +p_icon="${p_icons[$op]}" + +for i in {1..10};do + [[ "$i" -eq "10" ]] && k="0" || k=$i + swaymsg 'bindsym $mod+'"$k"' workspace number "'"${p_num}${i}:${p_icon}"'"' + swaymsg 'bindsym $mod+Shift+'"$k"' move container to workspace number "'"${p_num}${i}:${p_icon}"'"' +done + +moveto="${p_num}1:${p_icon}" +swaymsg 'workspace number "'"${p_num}"'"1:"'"${p_icon}"'"' +echo "${op}" > "${cache_dir}/active_profile" diff --git a/debian/sway-profiles/usr/bin/sp-rename b/debian/sway-profiles/usr/bin/sp-rename new file mode 100755 index 0000000..3574552 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-rename @@ -0,0 +1,7 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" + +new_wsname="$( get_workspace_prefix )$(wofi -i --dmenu --height 1 --search $( get_workspace_name ))" + +swaymsg 'rename workspace "'"$( get_workspace_fullname )"'" to "'"${new_wsname}"'"' diff --git a/debian/sway-profiles/usr/bin/sp-screenshot b/debian/sway-profiles/usr/bin/sp-screenshot new file mode 100755 index 0000000..e58e6b3 --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-screenshot @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +source "/usr/lib/sp-functions" +source "${conf_dir}/config" + +op=$( echo -e "Output\nWindow\nRegion" | wofi -i --dmenu --width 250 --height 260 | awk '{print tolower($1)}' ) + +echo "$op" + +sleep 0.5 +mkdir -p "${cache_dir}/screenshots/" +sway-screenshot -m $op --output-folder "${cache_dir}/screenshots/" +mv "${cache_dir}/screenshots/"* "${screenshot_dir}" diff --git a/debian/sway-profiles/usr/bin/sp-shortcuts b/debian/sway-profiles/usr/bin/sp-shortcuts new file mode 100755 index 0000000..361e69f --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-shortcuts @@ -0,0 +1,10 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" + +current_profile=$( get_profile_id ) + +profile_scripts=$( ls "${conf_dir}/profiles/${current_profile}/shortcuts/" ) +op=$( echo -e "${profile_scripts}" | wofi -w 2 -i --dmenu | awk '{print}' ) + +"${conf_dir}/profiles/${current_profile}/shortcuts/${op}" diff --git a/debian/sway-profiles/usr/bin/sp-wallpaper b/debian/sway-profiles/usr/bin/sp-wallpaper new file mode 100755 index 0000000..0551eea --- /dev/null +++ b/debian/sway-profiles/usr/bin/sp-wallpaper @@ -0,0 +1,30 @@ +#!/bin/bash + +source "/usr/lib/sp-functions" + +getwpno() { + wpno=$(printf "%02d\n" $(($(echo "$1" | awk '{print $1}' | grep -o "^[1-9]*")-1)) | cut -c 1 | sed 's/[^0-9]*//g') + echo "${wpno}" | tee "${cache_dir}/displays/${2}" +} + +setbg() { + for d in ${outputs[@]};do + d_wpno=$(cat "${cache_dir}/displays/${d}") + swaymsg output "${d}" bg "${conf_dir}/wallpaper/${d}/${d_wpno}.jpg" fill + done +} + +output=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | {name} | "\(.name)"') +outputs=( $(swaymsg -t get_outputs | jq -r '.[] | {name} | "\(.name)"') ) +workspace=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | {name} | "\(.name)"') +getwpno "${workspace}" "${output}" +setbg "${output}" "${wpno}" + +swaymsg -r -t subscribe -m '["workspace"]' | jq -rc --unbuffered 'select(.change == "focus") | .current | "\(.name) \(.output)"' | while read name output;do + wsno=$(($(echo "$name" | awk '{print $1}' | grep -o "^[1-9]*")-1)) + wpno_last=$(cat "${cache_dir}/displays/${output}") + getwpno "${name}" "${output}" + if [[ "${wpno}" -ne "${wpno_last}" ]];then + setbg "${output}" "${wpno}" + fi +done diff --git a/debian/sway-profiles/usr/lib/sp-functions b/debian/sway-profiles/usr/lib/sp-functions new file mode 100755 index 0000000..73f19a5 --- /dev/null +++ b/debian/sway-profiles/usr/lib/sp-functions @@ -0,0 +1,52 @@ +#!/bin/bash + + +conf_dir="$HOME/.config/sway-profiles" +cache_dir="$HOME/.cache/sway-profiles" + +mkdir -p "${cache_dir}/"{displays,lock,screenshots} + +get_workspace_id(){ + workspace_id=$( printf "%02d\n" $( swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true)|.name' | sed 's/:.*//' ) ) + echo "${workspace_id}" +} + +get_workspace_fullname(){ + workspace_fullname=$( swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true)|.name' ) + echo "${workspace_fullname}" +} + +get_workspace_prefix(){ + workspace_prefix="$( grep -o '[0-9]*:[^a-zA-Z1-9]' <<< $( swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true)|.name' ) )" + echo "${workspace_prefix}" +} + +get_workspace_name(){ + workspace_name=$( echo "$( get_workspace_fullname )" | sed 's/'"$( get_workspace_prefix )"'//' ) + echo "${workspace_name}" +} + +get_profile_id(){ + current_workspace=$( printf "%02d\n" $(( $( swaymsg -t get_workspaces | jq -r '.[] | select(.focused==true)|.name' | sed 's/:.*//' ) - 1 )) ) + echo "${current_workspace:0:1}" +} + +get_profile_name(){ + echo "test" +} + +get_profile_list(){ + p_icons=() + p_names=() + while read p;do + p_icons+=($( awk '{print $1}'<<<"${p}" )) + p_names+=($( awk '{print $2}'<<<"${p}" )) + done<"${conf_dir}/profile_list" + p_count="${#p_names[@]}" +} + +get_profile_icon(){ + get_profile_list + [ -z "${1}" ] && p=`get_active_profile` || p="${1}" + echo "${p_icons[ ${p} ]}" +} diff --git a/debian/sway-profiles/usr/share/doc/sway-profiles/README.Debian b/debian/sway-profiles/usr/share/doc/sway-profiles/README.Debian new file mode 100644 index 0000000..c0eebc6 --- /dev/null +++ b/debian/sway-profiles/usr/share/doc/sway-profiles/README.Debian @@ -0,0 +1,6 @@ +sway-profiles for Debian +------------------------ + +Configuration files for sway's supporting programs + + -- Penelope Gwen , Thu, 03 Jun 2024 19:45:09 -0600 diff --git a/debian/sway-profiles/usr/share/doc/sway-profiles/changelog.gz b/debian/sway-profiles/usr/share/doc/sway-profiles/changelog.gz new file mode 100644 index 0000000..84fafba Binary files /dev/null and b/debian/sway-profiles/usr/share/doc/sway-profiles/changelog.gz differ diff --git a/debian/sway-profiles/usr/share/doc/sway-profiles/copyright b/debian/sway-profiles/usr/share/doc/sway-profiles/copyright new file mode 100644 index 0000000..c86817c --- /dev/null +++ b/debian/sway-profiles/usr/share/doc/sway-profiles/copyright @@ -0,0 +1,60 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://git.pogmom.me/pogmommy/sway-profiles +Upstream-Name: sway-profiles +Upstream-Contact: Penelope Gwen + +Files: + * +Copyright: + 2024 Penelope Gwendolyn +License: Opinionated Queer License + PERMISSIONS + . + The creators of this Work (“The Licensor”) grant permission + to any person, group or legal entity that doesn't violate the prohibitions below (“The User”), + to do everything with this Work that would otherwise infringe their copyright or any patent claims, + subject to the following conditions: + . + OBLIGATIONS + . + The User must give appropriate credit to the Licensor, + provide a copy of this license or a (clickable, if the medium allows) link to + oql.avris.it/license/v1.1, + and indicate whether and what kind of changes were made. + The User may do so in any reasonable manner, + but not in any way that suggests the Licensor endorses the User or their use. + . + PROHIBITIONS + . + No one may use this Work for prejudiced or bigoted purposes, including but not limited to: + racism, xenophobia, queerphobia, queer exclusionism, homophobia, transphobia, enbyphobia, misogyny. + . + No one may use this Work to inflict or facilitate violence or abuse of human rights as defined in the + Universal Declaration of Human Rights. + . + No law enforcement, carceral institutions, immigration enforcement entities, military entities or military contractors + may use the Work for any reason. This also applies to any individuals employed by those entities. + . + No business entity where the ratio of pay (salaried, freelance, stocks, or other benefits) + between the highest and lowest individual in the entity is greater than 50 : 1 + may use the Work for any reason. + . + No private business run for profit with more than a thousand employees + may use the Work for any reason. + . + Unless the User has made substantial changes to the Work, + or uses it only as a part of a new work (eg. as a library, as a part of an anthology, etc.), + they are prohibited from selling the Work. + That prohibition includes processing the Work with machine learning models. + . + SANCTIONS + . + If the Licensor notifies the User that they have not complied with the rules of the license, + they can keep their license by complying within 30 days after the notice. + If they do not do so, their license ends immediately. + . + WARRANTY + . + This Work is provided “as is”, without warranty of any kind, express or implied. + The Licensor will not be liable to anyone for any damages related to the Work or this license, + under any kind of legal claim as far as the law allows. diff --git a/lib/sp-functions b/lib/sp-functions index fecd998..73f19a5 100755 --- a/lib/sp-functions +++ b/lib/sp-functions @@ -47,5 +47,6 @@ get_profile_list(){ get_profile_icon(){ get_profile_list - echo "${p_icons[ $( get_profile_id ) ]}" + [ -z "${1}" ] && p=`get_active_profile` || p="${1}" + echo "${p_icons[ ${p} ]}" }