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