11#! /bin/bash
22
3+ if [ -z " $XDG_RUNTIME_DIR " ]; then
4+ TMPDIR=$( mktemp -d)
5+ XDG_RUNTIME_DIR=$TMPDIR
6+ trap ' rm -rf $TMPDIR; exit' INT QUIT HUP TERM 0
7+ fi
8+
39source /etc/teiler/teiler.conf
410
511if [[ ! -d $HOME /.config/teiler ]]; then
@@ -81,8 +87,8 @@ vid_filemask="${vid_filemask}.${ext}"
8187noupload=$save
8288
8389mainMenu () {
84- if [[ -f /tmp /__teiler_cast_name ]]; then
85- filename=" $( cat /tmp /__teiler_cast_name) "
90+ if [[ -f $XDG_RUNTIME_DIR /__teiler_cast_name ]]; then
91+ filename=" $( cat $XDG_RUNTIME_DIR /__teiler_cast_name) "
8692 fi
8793 isRecording && STATE_RECORDING=" 2 Stop Recording Screencast"
8894 if [[ " $STATE_RECORDING " == " 2 Stop Recording Screencast" ]]; then
@@ -158,7 +164,7 @@ test_xrandr () {
158164}
159165
160166screencastMenu () {
161- filename=" $( cat /tmp /__teiler_cast_name) "
167+ filename=" $( cat $XDG_RUNTIME_DIR /__teiler_cast_name) "
162168 isRecording && STATE_RECORDING=" 2 Stop Recording Screencast"
163169 if [[ " $STATE_RECORDING " == " 2 Stop Recording Screencast" ]]; then
164170 HELP=" <span color='$help_color '>${upload} : Upload | ${save} : No Upload</span>"
@@ -168,20 +174,20 @@ screencastMenu () {
168174 if [[ " $menu " == " < Exit" ]]; then
169175 exit
170176 fi
171- if [[ $val -eq 10 ]]; then isRecording && stopRecording && sleep 2 && cd " ${vid_path} " && teiler_helper --upload video " ${filename} " && rm -f /tmp /__teiler_cast_name;
172- elif [[ $val -eq 11 ]]; then isRecording && stopRecording; rm -f /tmp /__teiler_cast_name; notify-send -a " teiler" " teiler" " Screencast saved" ; exit
177+ if [[ $val -eq 10 ]]; then isRecording && stopRecording && sleep 2 && cd " ${vid_path} " && teiler_helper --upload video " ${filename} " && rm -f $XDG_RUNTIME_DIR /__teiler_cast_name;
178+ elif [[ $val -eq 11 ]]; then isRecording && stopRecording; rm -f $XDG_RUNTIME_DIR /__teiler_cast_name; notify-send -a " teiler" " teiler" " Screencast saved" ; exit
173179 elif [[ $val -eq 1 ]]; then exit
174180 elif [[ $val -eq 0 ]]; then
175181 if [[ $always_ul ]]; then isRecording && stopRecording && sleep 2 && cd " ${vid_path} " && teiler_helper --upload video " ${filename} " ;
176- elif [[ $always_ul == " 0" ]]; then isRecording && stopRecording; rm -f /tmp /__teiler_cast_name; notify-send -a " teiler" " teiler" " Screencast saved" ; exit
182+ elif [[ $always_ul == " 0" ]]; then isRecording && stopRecording; rm -f $XDG_RUNTIME_DIR /__teiler_cast_name; notify-send -a " teiler" " teiler" " Screencast saved" ; exit
177183 fi
178184 fi
179185
180186 elif [[ -z " $STATE_RECORDING " ]]; then
181187 menu=$( echo -e " < Return to Main Menu\n---\n1 Fullscreen\n2 Area" | roficmd -p " Screencast > " )
182188 val=$?
183189 filename=" ${vid_filemask} "
184- echo " ${filename} " > /tmp /__teiler_cast_name
190+ echo " ${filename} " > $XDG_RUNTIME_DIR /__teiler_cast_name
185191
186192 if [[ $menu == " 1 Fullscreen" ]]; then isRecording && stopRecording && sleep 2 || ffmpegCmd fullscreen;
187193 elif [[ $menu == " 2 Area" ]]; then isRecording && stopRecording && sleep 2 || ffmpegCmd area;
@@ -238,16 +244,16 @@ isRecording () { [[ -f "$SCREENCAST_PIDFILE" ]] || return 1; }
238244
239245stopRecording () {
240246 local pid
241- if [[ -a /tmp /teiler_res ]]; then
242- res=$( cat /tmp /teiler_res)
247+ if [[ -a $XDG_RUNTIME_DIR /teiler_res ]]; then
248+ res=$( cat $XDG_RUNTIME_DIR /teiler_res)
243249 fi
244250 [[ -f $SCREENCAST_PIDFILE ]] && { pid=$( cat " $SCREENCAST_PIDFILE " ) ; isRecording && kill " $pid " ; rm " $SCREENCAST_PIDFILE " ; }
245251 notify-send -a " teiler" -t " 1" " teiler" " Stopped recording"
246252 if [[ -z $rate ]]; then
247- output=$( xininfo -name) ; xrandr --output " $output " --mode " $res " ; rm -f /tmp /teiler_res; return 0
253+ output=$( xininfo -name) ; xrandr --output " $output " --mode " $res " ; rm -f $XDG_RUNTIME_DIR /teiler_res; return 0
248254 else
249255 if [[ -n $res ]]; then
250- output=$( xininfo -name) ; xrandr --output " $output " --mode " $res " --rate " ${rate} " ; rm -f /tmp /teiler_res; return 0
256+ output=$( xininfo -name) ; xrandr --output " $output " --mode " $res " --rate " ${rate} " ; rm -f $XDG_RUNTIME_DIR /teiler_res; return 0
251257 fi
252258 fi
253259}
@@ -272,13 +278,13 @@ ffmpegCmd () {
272278
273279 source " $HOME /.config/teiler/profiles/${profile} "
274280
275- echo " ${filename} " > /tmp /__teiler_cast_name
281+ echo " ${filename} " > $XDG_RUNTIME_DIR /__teiler_cast_name
276282 if [[ $1 == " fullscreen" ]]; then
277283 isRecording && { notify " $time " ' Screencast already in progress' ; echo " Already recording Screen" ; exit 1; }
278284 ffmpeg_display=$( echo $DISPLAY )
279285 ffmpeg_offset=" $( xininfo -mon-x) ,$( xininfo -mon-y) "
280286 if [[ -n $res_now ]]; then
281- echo " $res_now " > /tmp /teiler_res
287+ echo " $res_now " > $XDG_RUNTIME_DIR /teiler_res
282288 fi
283289 if [[ $res_now == $res ]]; then echo " "
284290 else output=$( xininfo -name) ; xrandr --output " $output " --mode " $res " ; sleep 5; fi
@@ -319,22 +325,22 @@ maimCmd () {
319325}
320326
321327askPrompt () {
322- filename=" $( cat /tmp /__teiler_cast_name) "
328+ filename=" $( cat $XDG_RUNTIME_DIR /__teiler_cast_name) "
323329 isRecording && STATE_RECORDING=" Recording"
324330 if [[ -z " $STATE_RECORDING " ]]; then
325331 filename=" ${vid_filemask} "
326- echo " ${filename} " > /tmp /__teiler_cast_name
332+ echo " ${filename} " > $XDG_RUNTIME_DIR /__teiler_cast_name
327333 menu=$( echo -e " < Exit\n---\n1 Fullscreen\n2 Area" | roficmd -p " > " )
328334 if [[ $menu == " 1 Fullscreen" ]]; then isRecording && stopRecording && sleep 2 || ffmpegCmd fullscreen;
329335 elif [[ $menu == " 2 Area" ]]; then isRecording && stopRecording && sleep 2 || ffmpegCmd area;
330336 elif [[ $menu == " " ]]; then exit
331337 fi
332338 else
333- filename=" $( cat /tmp /__teiler_cast_name) "
339+ filename=" $( cat $XDG_RUNTIME_DIR /__teiler_cast_name) "
334340 isRecording && stopRecording && sleep 2
335341 ask=$( echo -e " 1 Yes\n2 No" | roficmd -p " Upload? > " )
336- if [[ $ask == " 1 Yes" ]]; then cd " ${vid_path} " && teiler_helper --upload video " ${filename} " && rm -f /tmp /__teiler_cast_name;
337- elif [[ $ask == " 2 No" ]]; then rm -f /tmp /__teiler_cast_name;
342+ if [[ $ask == " 1 Yes" ]]; then cd " ${vid_path} " && teiler_helper --upload video " ${filename} " && rm -f $XDG_RUNTIME_DIR /__teiler_cast_name;
343+ elif [[ $ask == " 2 No" ]]; then rm -f $XDG_RUNTIME_DIR /__teiler_cast_name;
338344 fi
339345 fi
340346}
0 commit comments