Gå till innehåll
Just nu i M3-nätverket

Städa skrivbordet, och osynliga filer


xeric

Rekommendera Poster

Satt och läste artiken på MW: Två tunga trick till din Mac

 

Fuskstäda skrivbordet

 

Vi är rätt många som har ett gytter av dokument och filer på våra skrivbord i Macen. Förutom att det slöar ned datorn när den startar så ser det ofta stökigt och tråkigt ut. Det lilla verktyget Camouflage hittar du i Mac App Store. Programmet kostar 45 kronor. Camouflage gömmer all bråte på ditt skrivbord så att det blir skinande rent på ett litet kick. Perfekt om du ska hålla en presentation eller liknande och inte vill exponera din röriga digitala arbetssituation för alla närvarande.

 


 

Så här kan man göra det själv (och ha 45,- till ngt bättre).

...plus att man får lite kul vid datorn. pclaugh.gif

 

 

 

Automator

Med Automator kan du skapa antingen en "Service" eller lägga det till högerklicksmenyn.

 

 

 

Till högerklicksmenyn

  1. Starta Automator och välj ny "Service" (kugghjulet)
    post-64246-073044900 1359132150_thumb.png
     
  2. När du får upp det nya fönstret. Klicka först på "Actions" och leta upp "Utilities" och sen i kolumnen brevid "Run Shellscript" (man kan klicka och dra in deni rutan till höger).
     
    I dropmenyerna överst - välj för filer och foldrar i alla program (se bilden). Och sen i rutan vör "Run Shell Script". Sätt: "Shell: bin/bash" och "Pass input: stdin".
    Koden i rutan sen är:
    STATUS=`defaults read com.apple.Finder CreateDesktop`
    if [ $STATUS == 1 ]; 
    then
       defaults write com.apple.Finder CreateDesktop -int 0
    else
       defaults write com.apple.Finder CreateDesktop -int 1
    fi
    killall Finder


     
    post-64246-000863800 1359132760_thumb.png
     
     

  3. Spara filen som t ex: Toggle Desktop....workflow

 

 

Som ren "Service"

  1. Gör exakt likadant som ovanför, men överst till höger anger du "no input" (se bild)
     
    post-64246-077009500 1359133550_thumb.png
     
     
  2. Spara filen som t ex: Toggle Clean Desktop.workflow

 

 

# Använd olika namn på de 2 olika för att inte förvälxla dem senare.

# När man sparar filerna så tror jag de lägger sig direkt i rätt mapp - annars skall de ligga i:

~/Library/Services

Finns inte mappen Services - skapa en med det namnet

 

 

 

När jag nu högerklickar på en fil på t ex skrivbordet, så ligger den ena där i menyn:

 

post-64246-042586200 1359133946_thumb.png

 

 

Och är en fil/folder markerad finns den med i Service-menyn (programmenyerna):

 

post-64246-038903400 1359134246_thumb.png

 

 

Om en fil/folder inte är markerad finns den andra kvar i Service menyn:

 

post-64246-059983500 1359134527_thumb.png

 

 

 

:finder:

 

 

 

- - -

 

Om man vill göra det ännu enklare för sig... Gå till Systeminställningar->tangentbort och klicka på tabben för genvägar/kortkommando. Där kan man lägga in ett eget kortkommando som man sen kan köra det med...

 

post-64246-046917800 1359134802_thumb.png

 

Klicka till höger där och lägg till ett eget kortkommando (som inte krockar med ngt annat). Testar nu med "ctrl+cmd+,". Verkar vara ledigt.

 

post-64246-097314300 1359136422_thumb.png

 

 

 

Lägger mina 2 färdiga workflows här i en zip. Tror man kan dubbelklicka på de så öppnas de i automator och så spar man de sen själv som sina egna.

 

mw_services.zip

 

 

post-64246-072135100 1359136689_thumb.png

 

:finder:

 

 


 

Vill man göra en variant på att visa/gömma dolda filer (somjag har ligger med där på bilderna)? Gör om samma saker igen. Koden till shellscripts-rutan är:

STATUS=`defaults read com.apple.finder AppleShowAllFiles`
if [ $STATUS == true ]; 
then
   defaults write com.apple.finder AppleShowAllFiles -bool false
else
   defaults write com.apple.finder AppleShowAllFiles -bool true
fi
killall Finder

Länk till kommentar
Dela på andra webbplatser

BIdrar med en alternativ lösning.

 

Skapa ett Applescript med följande innehåll

try
do shell script "defaults write com.apple.Finder CreateDesktop TRUE"
do shell script "killall Finder"
end try

TRUE/FALSE had samma betydelse som 0/1.

och spara i /Library/Scripts eller ~/Library/Scripts (handlar om vilka användare på datorn som ska få tillgång till dem).

I AppleSript-redigerare > Inställningar > Allmänt, markera "Visa skriptmenyn i meynraden".¨För att köra, klicka i menyraden.

 

(try & end try kan man egentligen hoppa över om man vill, handlar ungefär om att det inte ska gnällas om det inte funkar)

 

iEricF: Man behöver inte skriva att det handlar om heltal ("-int").

Länk till kommentar
Dela på andra webbplatser

BIdrar med en alternativ lösning.

 

Skapa ett Applescript med följande innehåll

try
do shell script "defaults write com.apple.Finder CreateDesktop TRUE"
do shell script "killall Finder"
end try

TRUE/FALSE had samma betydelse som 0/1.

och spara i /Library/Scripts eller ~/Library/Scripts (handlar om vilka användare på datorn som ska få tillgång till dem).

I AppleSript-redigerare > Inställningar > Allmänt, markera "Visa skriptmenyn i meynraden".¨För att köra, klicka i menyraden.

 

(try & end try kan man egentligen hoppa över om man vill, handlar ungefär om att det inte ska gnällas om det inte funkar)

 

iEricF: Man behöver inte skriva att det handlar om heltal ("-int").

:ThumbsUp: Bra med fler varianter....

 

Fast som jag läser det scriptet så skapas/visas väl bara skrivbordet? Inget som tar bort det initiellt s a s. Men jag har inte kör script den vägen så jag vet inte. Men det ser ut så?

 

Den jag gjorde där, kollar först om det är framme el borta - och gör tvärtom sen.

 

- - -

 

Jo, jag vet... "-int" är eg onödigt ...och skall man vara lite petnoga, skall man inte heller använda 1 och 0 istället för true och false. Så det borde stå "-bool true" eg. Men "-int" där hänger nog med från ngt script/lösning jag hittade en gång - då jag gjorde min service (Dec, 2011).

Länk till kommentar
Dela på andra webbplatser

:ThumbsUp: Bra med fler varianter....

 

Fast som jag läser det scriptet så skapas/visas väl bara skrivbordet? Inget som tar bort det initiellt s a s. Men jag har inte kör script den vägen så jag vet inte. Men det ser ut så?

 

Den jag gjorde där, kollar först om det är framme el borta - och gör tvärtom sen.

 

- - -

 

Jo, jag vet... "-int" är eg onödigt ...och skall man vara lite petnoga, skall man inte heller använda 1 och 0 istället för true och false. Så det borde stå "-bool true" eg. Men "-int" där hänger nog med från ngt script/lösning jag hittade en gång - då jag gjorde min service (Dec, 2011).

Jo, jag har två, ett som visar, ett som döljer.

 

Moddade lite nu, men det verkar lite buggigt :(

try
set CDvalue to (do shell script "defaults read com.apple.Finder CreateDesktop")
if CDvalue is "TRUE" then
	do shell script "defaults write com.apple.Finder CreateDesktop FALSE"
	do shell script "killall Finder"
end if
if CDvalue is "FALSE" then
	do shell script "defaults write com.apple.Finder CreateDesktop TRUE"
	do shell script "killall Finder"
end if
end try

Länk till kommentar
Dela på andra webbplatser

Här var en post med ett applescript... http://jimmitchell.org/2010/10/16/applescript-to-toggle-the-desktop/

 

Men det verkar vara lite overkill på en del grejjer där. T ex hur de stoppar/startar Finder. Den räcker ju att ha 1 gång utanför "if". Men om det exemplet kan ge nåt tips.

 

Är inte alls bra på det där med Applescript. Verkar vara lite som "scriptning i berättarform", om man säger så. :)

Länk till kommentar
Dela på andra webbplatser

Enda problemet med skriptet är att det inte städar skrivbordet. Snarare stoppar det städningen under mattan (skrivbordet)? ;) Men det kanske är en tillräcklig lösning?

Länk till kommentar
Dela på andra webbplatser

Enda problemet med skriptet är att det inte städar skrivbordet. Snarare stoppar det städningen under mattan (skrivbordet)? ;) Men det kanske är en tillräcklig lösning?

Ja, exakt. :) Och det är ju samma sak med de köpprogammen och som artikeln skrev där... "Fuskstäda". Men det är smidigt att ha precis som det stod i artikeln - att ha om man t ex skall göra en presentation, el film/video över ngt man gör som man filmar av. :crossfingers: Så ingen behöver se vilket kaos man eg har.

 

post-64246-054931200 1359146138_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Hittade ett alternativ, som städar också :)

(Byt Arkiv mot lämpligt alternativ, om det redan finns en mapp "Arkiv" på skrivbordet.)

(Hm, redigering av kod är inte så lätt ... editorn låter en inte få den kontrollen förrän vid första tillfället ...)

 

 

 

 

set theArchiveFolderName to "Arkiv"

 

tell application "Finder"

 

set theItems to every item of desktop where its name is not equal to theArchiveFolderName

 

 

 

if (folder theArchiveFolderName of desktop exists) then

 

set theArchiveFolder to folder theArchiveFolderName of desktop

 

else

 

set theArchiveFolder to make new folder at desktop with properties {name:theArchiveFolderName}

 

end if

 

 

 

set theDateFolderName to date string of (current date) & "-" & (time of (current date))

 

set theDateFolder to make new folder at theArchiveFolder with properties {name:theDateFolderName}

 

 

 

repeat with anItem in theItems

 

try

 

move anItem to theDateFolder

 

end try

 

end repeat

 

end tell

 

 

 

Länk till kommentar
Dela på andra webbplatser

Moddade lite nu, men det verkar lite buggigt :(

try
set CDvalue to (do shell script "defaults read com.apple.Finder CreateDesktop")
if CDvalue is "TRUE" then
	do shell script "defaults write com.apple.Finder CreateDesktop FALSE"
	do shell script "killall Finder"
end if
if CDvalue is "FALSE" then
	do shell script "defaults write com.apple.Finder CreateDesktop TRUE"
	do shell script "killall Finder"
end if
end try

Tror jag hittade buggen...

 

När man kör en "read" på true/false så returnerar den 1 el 0 (som sträng).

 

Prova:

try
set toggle to do shell script "defaults read com.apple.finder CreateDesktop"
if toggle = "1" then
	do shell script "defaults write com.apple.finder CreateDesktop -bool false"
else
	do shell script "defaults write com.apple.finder CreateDesktop -bool true"
end if
do shell script "killall Finder"
end try

 

 

Motsvarande för gömma/visa filer borde då bli:

try
set toggle to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if toggle = "1" then
	do shell script "defaults write com.apple.finder AppleShowAllFiles -bool false"
else
	do shell script "defaults write com.apple.finder AppleShowAllFiles -bool true"
end if
do shell script "killall Finder"
end try

 

Länk till kommentar
Dela på andra webbplatser

Annars skapar man bara en ny mapp, sen markera allt på skrivbordet och flytta till mappen, lägg mappen någon annan stans än på skrivbordet.

1: Fusk snyggt

2. Gratis

3. Snabbt Tar max 40 sekunder total tid.

Länk till kommentar
Dela på andra webbplatser

Tror jag hittade buggen...

 

När man kör en "read" på true/false så returnerar den 1 el 0 (som sträng).

 

Prova:

try
set toggle to do shell script "defaults read com.apple.finder CreateDesktop"
if toggle = "1" then
	do shell script "defaults write com.apple.finder CreateDesktop -bool false"
else
	do shell script "defaults write com.apple.finder CreateDesktop -bool true"
end if
do shell script "killall Finder"
end try

 

 

Motsvarande för gömma/visa filer borde då bli:

try
set toggle to do shell script "defaults read com.apple.finder AppleShowAllFiles"
if toggle = "1" then
	do shell script "defaults write com.apple.finder AppleShowAllFiles -bool false"
else
	do shell script "defaults write com.apple.finder AppleShowAllFiles -bool true"
end if
do shell script "killall Finder"
end try

 

Tackar

Länk till kommentar
Dela på andra webbplatser

Tackar

Bra att det funkade. :yeahbaby:

 

Synd att det inte går att lägga/flytta scriptikonen ... t ex till ett Finderfönster, utan är låst menyraden.

 

 

 

- - -

 

 

Bästa att uppdatera koderna för första inlägget med.

 

 

För att gömma/visa skrivbordet:

STATUS=`defaults read com.apple.finder CreateDesktop `
if [ $STATUS == 1 ]; 
then
   defaults write com.apple.finder CreateDesktop -bool false
else
   defaults write com.apple.finder CreateDesktop -bool true
fi
killall Finder

 

 

För att gömma/visa alla filer:

STATUS=`defaults read com.apple.finder AppleShowAllFiles`
if [ $STATUS == 1 ]; 
then
   defaults write com.apple.finder AppleShowAllFiles -bool false
else
   defaults write com.apple.finder AppleShowAllFiles -bool true
fi
killall Finder

 

Länk till kommentar
Dela på andra webbplatser

  • 4 years later...

Uppdaterat titeln: “Städa skrivbordet” -> “Städa skrivbordet, och osynliga filer” /Eric

Länk till kommentar
Dela på andra webbplatser

Pocahontas

Förstår inte problemet. Mitt skrivbord är alltid rent . :D

Länk till kommentar
Dela på andra webbplatser

Har ju haft mina olika “toggles” som Services och i högerklicksmenyn (se första inlägget).

Men jag gjorde ett litet shellscript av det istället. Är samma kod/script det bygger på, men “förpackat” lite annorlunda. Så här är hur du kan skriva ihop det själv.

Lite helgpyssel. :)

- - -

Anänd en bra texteditor, t ex BBEdit, finns som gratis (f d Textrangler) och köpvariant. Eller någon annan, men inte TextEdit.

Så, en ny fil... Börja med att lägg in en “shebang” och sen ett par error-kontroller.

#!/usr/bin/env bash
#
# Ett skript som visar/gömmer dolda filer
# eller skrivbordet
#

ERR=0

exit ${ERR}

Till det, så gör en funktion - det är den som sköter båda sakerna sen.

function finderSwitch()
{
    local i="$1";
    STATUS=`defaults read com.apple.Finder ${i}`
    if [ $STATUS == 1 ]; then
        defaults write com.apple.Finder ${i} -bool false;
    else
        defaults write com.apple.Finder ${i} -bool true;
    fi
    killall Finder;
}

Det är samma kod som ovan fast anpassad så den sen kan köra båda. Skull man köra den direkt blir det: $ finderSwitch Desktop

Stoppa in en i scriptet mellan ERR och exit:

#!/usr/bin/env bash
#
# Ett skript som visar/gömmer dolda filer
# eller skrivbordet
#

ERR=0

function finderSwitch()
{
    local i="$1";
    STATUS=`defaults read com.apple.Finder ${i}`
    if [ $STATUS == 1 ]; then
        defaults write com.apple.Finder ${i} -bool false;
    else
        defaults write com.apple.Finder ${i} -bool true;
    fi
    killall Finder;
}

exit ${ERR}

För att sen kunna köra samma skript men välja vilken, så behöver man en switch.

case $1 in
    hidden)
        finderSwitch "AppleShowAllFiles";
        ERR=$?;
        ;;
    desktop)
        finderSwitch "CreateDesktop";
        ERR=$?;
        ;;
    *)  echo -e "Användning: `basename $0` [hidden|desktop]\n";
        ERR=1
esac

$1 är första värdet man kör efter skriptets namn. T ex: $ foo bar - så heter skriptet foo och bar blir $1.

Så, om $1 motsvarar “desktop” så körs: finderSwitch "CreateDesktop"

Skulle man skriva fel eller ett annat värde så körs det under * (wildcard) som printar ut:

$foo bar
Användning: skriptnamn [hidden|desktop]

$

Så, stoppa in switchen mellan funktionen och exit.

#!/usr/bin/env bash
#
# Ett skript som visar/gömmer dolda filer
# eller skrivbordet
#

ERR=0

function finderSwitch()
{
    local i="$1";
    STATUS=`defaults read com.apple.Finder ${i}`
    if [ $STATUS == 1 ]; then
        defaults write com.apple.Finder ${i} -bool false;
    else
        defaults write com.apple.Finder ${i} -bool true;
    fi
    killall Finder;
}

case $1 in
    hidden)
        finderSwitch "AppleShowAllFiles";
        ERR=$?;
        ;;
    desktop)
        finderSwitch "CreateDesktop";
        ERR=$?;
        ;;
    *)  echo -e "Användning: `basename $0` [hidden|desktop]\n";
        ERR=1
esac

exit ${ERR}

Spara filen som t ex fswitch eller toggle. Sen kan du lägga den dör du vill kunna köra den ifrån.

Ett bra ställe är /usr/local/bin efter som den finns med i PATH så behöver man inte skriva in hela sökvägen, utan bara namnet.[/size]

För att vara säker på att den foldern finns, kör:

sudo install -vd /usr/local/bin

Sen installera den (läs; kopiera in på plats):

sudo install -v -m755 -o0 -g0 fswitch /usr/local/bin

Det gör att den får rätt ägare/grupp och körrrättigheter på en gång.

Alternativ kopierar du in den som vanligt och sen byter...

sudo cp fswitch /usr/local/bin
sudo chown root:wheel /usr/local/bin/fswitch
sudo chmod +x /usr/local/bin/fswitch

Kolla så den kan hittas:

$ which fswitch
/usr/local/bin/fswitch

Sen kan man köra den med:

$ fswitch desktop
$ fswitch hidden

Har tagit bort mina automator-skript och kör bara denna nu. Mycket trevligare att använda något man gjort själv. :ThumbsUp:

Länk till kommentar
Dela på andra webbplatser

Är det inte enklare att inte ha så mycket på skrivbordet? :) Jag har en mapp "Pågående" där lägger jag allt det som jag arbetar med för tillfället och behöver snabb åtkomst till, i övrigt är mitt skrivbord rent och snyggt. :)

Länk till kommentar
Dela på andra webbplatser

sevensleeper

Är det inte enklare att inte ha så mycket på skrivbordet? :) Jag har en mapp "Pågående" där lägger jag allt det som jag arbetar med för tillfället och behöver snabb åtkomst till, i övrigt är mitt skrivbord rent och snyggt. :)

...och jag har ingenting alls, alltid tomt. :)

Länk till kommentar
Dela på andra webbplatser

Det sägs ju att de som har det rörigt på skrivbordet har det rörigt i huvudet.

Men hur är det då med de som har ett tomt skrivbord? ;)

 

Själv har jag ett halvrörigt (i bästa fall) till rörigt (i sämsta fall) skrivbord. :)

Länk till kommentar
Dela på andra webbplatser

sevensleeper

Det sägs ju att de som har det rörigt på skrivbordet har det rörigt i huvudet.

Men hur är det då med de som har ett tomt skrivbord? ;)

 

Själv har jag ett halvrörigt (i bästa fall) till rörigt (i sämsta fall) skrivbord. :)

Ingen kommentar... ;)

Länk till kommentar
Dela på andra webbplatser

Är det inte enklare att inte ha så mycket på skrivbordet? :) Jag har en mapp "Pågående" där lägger jag allt det som jag arbetar med för tillfället och behöver snabb åtkomst till, i övrigt är mitt skrivbord rent och snyggt. :)

Jo, visst är det det. I mitt fall är det inte så mycket för att få bort allt där, mer än att kunna snabbt gömma/visa det.

 

Rätt smidigt om/när man skall ta en skrämdump eller göra en screencast - så slipper man visa sina filer då, utan bara det som skall visas.

Länk till kommentar
Dela på andra webbplatser

Det sägs ju att de som har det rörigt på skrivbordet har det rörigt i huvudet.

Men hur är det då med de som har ett tomt skrivbord? ;)

 

Själv har jag ett halvrörigt (i bästa fall) till rörigt (i sämsta fall) skrivbord. :)

 

 

Jag kan ju säga att mitt skrivbord i datorn är mycket mer rent och städat än skrivbordet som datorn står på. :) Jag väntar fortfarande på en bra algoritm för att skapa det självstädande skrivbordet, alltså det utanför datorn. :)

 

Länk till kommentar
Dela på andra webbplatser

Mitt datorskrivbord är mer som en arbetsbänk. Där finns bara det jag håller på med för stunden. När jag är färdig ”återvinner” jag allt eller placerar det någon annanstans.

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...