Warning, /plasma/plasma-activities/contrib/zsh/kamd-functions is written in an unsupported language. File is not indexed.
0001 # Module: KDE Aliases 0002 # Priority: 10 0003 0004 autoload -U colors 0005 colors 0006 0007 # Defining aliases for common kamd dbus objects 0008 alias kamd_dbus="qdbus org.kde.ActivityManager" 0009 0010 alias kamd_activities="qdbus org.kde.ActivityManager /ActivityManager/Activities" 0011 alias kamd_resources="qdbus org.kde.ActivityManager /ActivityManager/Resources" 0012 alias kamd_resources_linking="qdbus org.kde.ActivityManager /ActivityManager/Resources/Linking" 0013 alias kamd_features="qdbus org.kde.ActivityManager /ActivityManager/Features" 0014 0015 alias kamd_addactivity="qdbus org.kde.ActivityManager /ActivityManager/Activities AddActivity" 0016 alias kamd_removeactivity="qdbus org.kde.ActivityManager /ActivityManager/Activities RemoveActivity" 0017 0018 # Open the KAMD database 0019 alias kamd_database="sqlite3 ~/.local/share/kactivitymanagerd/resources/database" 0020 0021 # Lists the existing activities, along with their state 0022 function kamd_listactivities() { 0023 echo -n "Service version: " 0024 qdbus org.kde.ActivityManager /ActivityManager serviceVersion 0025 0026 CURRENT_ACTIVITY=`qdbus org.kde.ActivityManager /ActivityManager/Activities CurrentActivity` 0027 0028 for activity in `qdbus org.kde.ActivityManager /ActivityManager/Activities ListActivities`; do 0029 0030 STATE="" 0031 0032 if [ "$CURRENT_ACTIVITY" = "$activity" ]; then 0033 STATE="$fg[green][CURRENT]" 0034 0035 else 0036 STATE=`qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityState $activity` 0037 0038 case "state$STATE" in 0039 state0) 0040 STATE="$fg[red]$bg[black][INVALID]" 0041 ;; 0042 state2) 0043 STATE="$fg[blue][RUNNING]" 0044 ;; 0045 state3) 0046 STATE="$fg[red]$bg[black][STARTING]" 0047 ;; 0048 state4) 0049 STATE="$fg[black][STOPPED]" 0050 ;; 0051 state5) 0052 STATE="$fg[red]$bg[black][STOPPING]" 0053 ;; 0054 esac 0055 fi 0056 0057 echo -n "$STATE$reset_color $activity " 0058 0059 ACTIVITY_NAME=`qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityName $activity` 0060 ACTIVITY_DESC=`qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityDescription $activity` 0061 ACTIVITY_ICON=`qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityIcon $activity` 0062 0063 if [ -n "$ACTIVITY_DESC" ]; then 0064 echo "$ACTIVITY_NAME ($ACTIVITY_DESC, $ACTIVITY_ICON)" 0065 else 0066 echo "$ACTIVITY_NAME ($ACTIVITY_ICON)" 0067 fi 0068 done 0069 } 0070 0071 # Shows the information about the current activity 0072 function kamd_currentactivity() { 0073 for activity in `qdbus org.kde.ActivityManager /ActivityManager/Activities CurrentActivity`; do 0074 STATE=`qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityState $activity` 0075 0076 case "state$STATE" in 0077 state0) 0078 STATE="[INVALID] " 0079 ;; 0080 state2) 0081 STATE="[RUNNING] " 0082 ;; 0083 state3) 0084 STATE="[STARTING]" 0085 ;; 0086 state4) 0087 STATE="[STOPPED] " 0088 ;; 0089 state5) 0090 STATE="[STOPPING]" 0091 ;; 0092 esac 0093 0094 echo -n "$STATE $activity " 0095 qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityName $activity 0096 done 0097 } 0098 0099 # Returns the current activity ID 0100 function kamd_get_currentactivity_id() { 0101 qdbus org.kde.ActivityManager /ActivityManager/Activities CurrentActivity 0102 } 0103 0104 # Returns the current activity name 0105 function kamd_get_currentactivity_name() { 0106 CURRENT_ACTIVITY_ID=$(kamd_get_currentactivity_id) 0107 qdbus org.kde.ActivityManager /ActivityManager/Activities ActivityName $CURRENT_ACTIVITY_ID 0108 } 0109 0110 # Returns the current activity name 0111 function kamd_get_currentactivity_name_normalized() { 0112 CURRENT_ACTIVITY_NAME=$(kamd_get_currentactivity_name) 0113 echo $CURRENT_ACTIVITY_NAME | tr '[:upper:] ' '[:lower:]-' 0114 } 0115 0116 # Returns the current activity ID 0117 function kamd_STOP_ALL_BUT_CURRENT() { 0118 CURRENT_ACTIVITY_ID=$(kamd_get_currentactivity_id) 0119 0120 for activity in `qdbus org.kde.ActivityManager /ActivityManager/Activities ListActivities`; do 0121 if [ "$activity" != "$CURRENT_ACTIVITY_ID" ]; then 0122 echo "Stop: $activity" 0123 qdbus org.kde.ActivityManager /ActivityManager/Activities StopActivity $activity 0124 sleep 1 0125 fi 0126 done 0127 } 0128 0129 # Returns the current activity ID 0130 function kamd_REMOVE_ALL_BUT_CURRENT() { 0131 CURRENT_ACTIVITY_ID=$(kamd_get_currentactivity_id) 0132 0133 for activity in `qdbus org.kde.ActivityManager /ActivityManager/Activities ListActivities`; do 0134 if [ "$activity" != "$CURRENT_ACTIVITY_ID" ]; then 0135 echo "Remove: $activity" 0136 qdbus org.kde.ActivityManager /ActivityManager/Activities RemoveActivity $activity 0137 sleep 1 0138 fi 0139 done 0140 } 0141