Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
f401d6ef
Commit
f401d6ef
authored
Feb 23, 2011
by
Sorin Ionescu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Vastly improved osx plugin.
parent
3bb21afa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
85 additions
and
49 deletions
+85
-49
osx.plugin.zsh
plugins/osx/osx.plugin.zsh
+85
-49
No files found.
plugins/osx/osx.plugin.zsh
View file @
f401d6ef
alias
showfiles
=
'defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder'
# ------------------------------------------------------------------------------
alias
hidefiles
=
'defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder'
# FILE: osx.plugin.zsh
# DESCRIPTION: oh-my-zsh plugin file.
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
# VERSION: 1.0.1
# ------------------------------------------------------------------------------
# Recursively delete .DS_Store files
alias
rm-dsstore
=
"find . -name '*.DS_Store' -type f -delete"
function
savepath
()
{
pwd
>
~/.current_path~
}
function
tab
()
{
function
tab
()
{
savepath
local command
=
"cd
\\\"
$PWD
\\\"
"
osascript
>
/dev/null
<<
EOF
((
$#
>
0
))
&&
command
=
"
${
command
}
;
$*
"
on do_submenu(app_name, menu_name, menu_item, submenu_item)
-- bring the target application to the front
the_app
=
$(
tell application app_name
osascript 2>/dev/null
<<
EOF
activate
tell application "System Events"
end tell
name of first item of (every process whose frontmost is true)
tell application "System Events"
tell process app_name
tell menu bar 1
tell menu bar item menu_name
tell menu menu_name
tell menu item menu_item
tell menu menu_item
click menu item submenu_item
end tell
end tell
end tell
end tell
end tell
end tell
end tell
end tell
EOF
end do_submenu
)
do_submenu("Terminal", "Shell", "New Tab", 1)
[[
"
$the_app
"
==
'Terminal'
]]
&&
{
osascript 2>/dev/null
<<
EOF
tell application "System Events"
tell process "Terminal" to keystroke "t" using command down
tell application "Terminal" to do script "
${
command
}
" in front window
end tell
EOF
EOF
}
}
function
itab
()
{
[[
"
$the_app
"
==
'iTerm'
]]
&&
{
savepath
osascript 2>/dev/null
<<
EOF
osascript
>
/dev/null
<<
EOF
tell application "iTerm"
on do_submenu(app_name, menu_name, menu_item)
set current_terminal to current terminal
-- bring the target application to the front
tell current_terminal
tell application app_name
launch session "Default Session"
activate
set current_session to current session
end tell
tell current_session
tell application "System Events"
write text "
${
command
}
"
tell process app_name
tell menu bar 1
tell menu bar item menu_name
tell menu menu_name
click menu item menu_item
end tell
end tell
end tell
end tell
end tell
end tell
end tell
EOF
}
}
function
pfd
()
{
osascript 2>/dev/null
<<
EOF
tell application "Finder"
return POSIX path of (target of window 1 as alias)
end tell
end tell
end do_submenu
EOF
}
do_submenu("iTerm", "Shell", "New Tab")
function
pfs
()
{
osascript 2>/dev/null
<<
EOF
set output to ""
tell application "Finder" to set the_selection to selection
set item_count to count the_selection
repeat with item_index from 1 to count the_selection
if item_index is less than item_count then set the_delimiter to "\n"
if item_index is item_count then set the_delimiter to ""
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
end repeat
EOF
EOF
}
}
function
cdf
()
{
cd
"
$(
pfd
)
"
}
function
pushdf
()
{
pushd
"
$(
pfd
)
"
}
function
quick-look
()
{
((
$#
>
0
))
&&
qlmanage
-p
$*
&>/dev/null &
}
function
man-preview
()
{
man
-t
"
$@
"
| open
-f
-a
Preview
}
function
trash
()
{
local
trash_dir
=
"
${
HOME
}
/.Trash"
local
temp_ifs
=
$IFS
IFS
=
$'
\n
'
for
item
in
"
$@
"
;
do
if
[[
-e
"
$item
"
]]
;
then
item_name
=
"
$(
basename
$item
)
"
if
[[
-e
"
${
trash_dir
}
/
${
item_name
}
"
]]
;
then
mv
-f
"
$item
"
"
${
trash_dir
}
/
${
item_name
}
$(
date
"+%H-%M-%S"
)
"
else
mv
-f
"
$item
"
"
${
trash_dir
}
/"
fi
fi
done
IFS
=
$temp_ifs
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment