Almost everyone here uses Macs. When a new hire joins us, sometimes they're not familiar with OS X at all. For someone coming from Windows operating system, switching to OS X can be troublesome at first.
- How To Go From C++ To Mac App Store
- How To Go From C++ To Mac Applications
- How To Go From C++ To Mac Apple Computer
- How To Go From C++ To Mac Apps
OS X is the operating system running on all Apple computers. My first experience with OS X was 6 months ago, when I started working at Infinum. That's why I needed a couple of days to get a grip with it. Everything from the keyboard layout to the user interface is different than on Windows.
Considering the fact that most people who join our firm are not familiar with Apple's platform, I've decided to write a couple of tips and tricks to help them switch to Macs more easily.
Like I mentioned, at first I was having trouble with the keyboard layout. It took some time to get used to the CMD (⌘) button being the primary key modifier, instead of CTRL on Windows. But after a couple of days, it gets easier.
Soon after, I realised why Macs are the preferred weapon of choice for doing work at Infinum. Plain and simple, they are just generally easier to work with. Most things work without installing additional drivers. For example, there is no need to install OEM drivers for Android devices.
The Mac's solution to this is @executablepath. This is a magic token that, when placed at the beginning of a library's install name, gets expanded to the path of the executable that's loading it, minus the last component. For example, let's say that Bar.app links against Foo.framework. The App Store works the same way as Google Play or any other app marketplace, so just do a quick search to make sure whatever apps you need are available for Mac. If an app you use isn't available. Command-X: Cut the selected item and copy it to the Clipboard.; Command-C: Copy the selected item to the Clipboard.This also works for files in the Finder. Command-V: Paste the contents of the Clipboard into the current document or app.This also works for files in the Finder. Command-Z: Undo the previous command.You can then press Shift-Command-Z to Redo, reversing the undo command.
They have the stability of Unix and Linux, but also a great user interface. They're equally good for programmers (used to spending 50% of their time in the Terminal) and designers (used to working with visual tools). Mac notebooks (Macbooks) also have awesome battery life.
Installing applications
For most applications on OS X there's no installation process like on Windows. When you want to install an application on Windows, you have to run an installer that will install it for you.
On OS X you can download an application from the Mac App Store or download a .dmg file from Internet and just drag it to your Applications folder. And that's it. No installing. Henry kissinger world order pdf. You are switching to another Mac? No problem, Apple iCloud will help you switch over without pain.
OS X offers plenty of productivity raising features without installing any third party application. However, we use apps like Alfred to extend OS X features even more.
Using the keyboard
Getting familiar with keyboard shortcuts is essential to becoming more productive. OS X offers many shortcuts by default. You can browse through them in System Preferences > Keyboard > Shortcuts.
CMD is the magic key you'll use for most of the shortcuts and commands. ALT (⌥) button is also often called option key.
Useful shortcuts to remember:
- cmd + tab - Move focus to next application
- cmd + ` - Move focus to next window
- ctrl + tab - Move focus to next tab
- cmd + w - Close tab
- cmd + q - Close application
- cmd + , - Open preferences of active application
Finder file manager
Finder is OS X's default file manager. It's similar to Windows Explorer but with some differences. For example, there's no classic Cut option which I really missed. If you want to Cut something like on Windows, you have to select the file, press cmd + C and then cmd + alt + V where you want to paste it.
Shortcut keys
Here are also some useful shortcuts to remember:
- cmd + ↑ - Up to higher folder (in the folder structure)
- cmd + ↓ or cmd + O- Open file or folder
- cmd + backspace - Delete selected item
- enter - Rename selected item
Hidden files
In case you want to be able to see hidden files in the Finder, paste this line into your Terminal.app (works for OS X 10.7 and above):
defaults write com.apple.finder AppleShowAllFiles TRUE
Apply changes by holding ALT key and press right click on Finder icon and select Relaunch.
If you just need to see hidden files in the Open/Save dialogs, press cmd + shift + . to display them temporarily.
Navigation in text documents
Getting familiar with the text manipulation is especially useful for developers. There are no HOME and END buttons on most Mac keyboards. But, there's an alternative - CMD + left/right.
![How to go from c++ to mac applications How to go from c++ to mac applications](/uploads/1/3/4/0/134067098/464026833.png)
- cmd + shift + ↑/↓ - Select a whole document from the cursor position in a desired direction
- cmd + shift + ←/→ - Select a line to the left or right
- alt + shift + ←/→ - Select a word left or right from the cursor position
If you ditch shift from shortcuts above, your cursor will be moved without selecting text. All to mp3 download mac.
Window management
Windows comes with a Snap feature. It's a way of resizing windows by dragging them to the edges of the screen after what they automatically cover screen halves. That's the only feature I was missing on Mac. That is, until I met Spectacle. Spectacle is a simple OS X application which lets you reorder open windows with keyboard shortcuts, even without using your mouse.
- cmd + alt + ← - snap window to the left edge of the screen
- cmd + alt + → - snap window to the right edge of the screen
Alfred app
Alfred is a substitute for native OS X Spotlight application. It's a tool that saves you time when opening new apps or searching local computer or web. It can also be used as a calculator and has a bunch of other features.
To find and start an application just enter the application name and press enter. Alfred is super-fast for searching documents. Just type keyword find before name of the document you are trying to open in Finder. Use open if you want to open a file.
Fig 1. Start an application
Fig 2. Finding a file
Fig 3. Using Alfred as a calculator
Mouse and Trackpad
Magic Mouse is awesome. At first I was shocked with the lack of the scroll button. How am I supposed to scroll now? However, there's a trick - the whole surface of the Magic Mouse is scrollable, you just need to swipe your fingers over it. It also offers some great gestures in System Preferences > Mouse > More Gestures.
Fig 4. Magic Mouse gestures
Right click
By default, the Magic Mouse and Trackpad come with the right-click option turned OFF. I recommend turning it ON in the Mouse preferences/Trackpad preferences section of the System preferences panel.
Screenshots & screencasts
OS X comes with a lot of built-in features. Taking screenshots is one of them. Without having to install any application, you can easily save a screen or a desired screen area. Of course, it's possible to do this on Windows as well, but the whole process is simpler on OS X.
- cmd + shift + 3 - Saves whole screen
- cmd + shift + 4 - Saves user selected part of the screen
- cmd + shift + 5 - If you use Skitch - selects part of the screen and opens it in Skitch ready for editing
Recording screencasts
Easy way to record screencast is by using the QuickTime Player application and selecting File > New screen recording. Of course, you can choose to record the whole screen or just a part of it.
Instructions on how to generate docsets (for Dash) are found below. There is no method that is best for every case, so you'll have to consider all and decide which is the best for you. When your docset is ready, please contribute it to Dash.
Generate docsets from:
Generation script examples:
Improve your docset:
Docset Sources#
How To Go From C++ To Mac App Store
1. Swift or Objective-C Documentation#
Jazzy can be used to generate docsets from Swift or Objective-C source files.
When you're done generating your docset, check out some tips on how to improve it.
2. Python, Sphinx or PyDoctor-Generated Documentation#
Use http://pypi.python.org/pypi/doc2dash to generate docsets from Python, Sphinx or PyDoctor-generated documentation. When you're done generating your docset, check out some tips on how to improve it.
3. Javadoc-Generated Documentation#
Use https://github.com/Kapeli/javadocset to generate docsets from Javadoc-generated documentation. When you're done generating your docset, check out some tips on how to improve it.
You can also install docsets for Java libraries that are on Maven.org from Preferences > Downloads > Java Docsets. Oculus rift sdk mac download.
4. RDoc or Yard-Generated Documentation#
You can install docsets for any Ruby Gem from Preferences > Downloads > Ruby Docsets.
5. Scaladoc-Generated Documentation#
Use sbt-dash or mkscaladocset to generate docsets from Scaladoc-generated API documentation. Use scala-dash to generate docsets for Scala manuals. When you're done generating your docset, check out some tips on how to improve it.
You can also install docsets for Scala libraries that are on Maven.org from Preferences > Downloads > Scala Docsets.
6. GoDoc-Generated Documentation#
Use https://github.com/wuudjac/godocdash to generate docsets from GoDoc-generated documentation. When you're done generating your docset, check out some tips on how to improve it.
You can also install docsets for any Go Package from Preferences > Downloads > Go Docsets.
7. HexDoc-Generated Documentation#
You can install docsets for any Hex Package from Preferences > Downloads > Hex Docsets.
8. DartDoc-Generated Documentation#
You can install docsets for any Dart Package from Preferences > Downloads > Dart Docsets.
9. Haddock-Generated Documentation#
You can install docsets for any Haskell Package from Preferences > Downloads > Haskell Docsets.
10. Rust Package Documentation (Cargo)#
Use cargo-docset or rsdocs-dashing to generate docsets for Rust packages. When you're done generating your docset, check out some tips on how to improve it.
11. JSDoc Comments#
Use https://github.com/theasta/jsdoc-dash-template to generate docsets from JSDoc comments. When you're done generating your docset, check out some tips on how to improve it.
12. Doxygen (Source Files: C, C++, C#, PHP, Obj-C, Java, Python)#
Doxygen can generate docsets from source files of C, C++, C#, PHP, Objective-C, Java, Python (and some others).
These are the entries you need to add into your Doxygen config file to make it generate a docset (note: the last 3 entries are optional):
When Doxygen is done generating the documentation, run
make
inside the generated folder. Note: Doxygen requires docsetutil
, which is no longer available starting with Xcode 9.3. You need to either install Xcode 9.2 or older, or check out this comment on GitHub for an alternative.Don't forget to check out some tips on how to improve your docset.
13. Any HTML Documentation#
Docsets are essentially just a folder containing the HTML documentation and a SQLite database that indexes the files.
If the HTML docs you want to index are well-formatted, it might be easier to generate the docset using Dashing or dash-docset-builder instead of writing your own generation script.
13.1. Create the Docset Folder#
The docset folder structure can be created using this Terminal command:
You can also manually create the docset structure if you want, they're just folders.
13.2. Copy the HTML Documentation#
Copy the HTML documentation you already have to this folder:
13.3. Create the Info.plist File#
Download and edit this sample Info.plist and place it in the
<docset name>.docset/Contents/
folder. Editing should be straightforward, just set the values to whatever name you want for your docset.13.4. Create the SQLite Index#
Create a SQLite database in the file
<docset name>.docset/Contents/Resources/docSet.dsidx
with the following query:Native instruments maschine software crack mac. Recommended: you can easily prevent adding duplicate entries to the index by also using this query:
13.5. Populate the SQLite Index#
https://yellowwow132.weebly.com/blog/harmony-hub-mac-app. You need to create a script (or application or whatever) that will go through your HTML documentation and add appropriate rows into the SQLite database. Rows can be added using this query:
The values are:
name
is the name of the entry. For example, if you are adding a class, it would be the name of the class. This is the column that Dash searches.type
is the type of the entry. For example, if you are adding a class, it would be 'Class'. For a list of types that Dash recognises, see below.path
is the relative path towards the documentation file you want Dash to display for this entry. It can contain an anchor (#). Alternatively, Dash also supportshttp://
URL entries.
You can find a few generation script examples here.
13.5.1. Supported Entry Types#
- Annotation
- Attribute
- Binding
- Builtin
- Callback
- Category
- Class
- Command
- Component
- Constant
- Constructor
- Define
- Delegate
- Diagram
- Directive
- Element
- Entry
- Enum
- Environment
- Error
- Event
- Exception
- Extension
- Field
- File
- Filter
- Framework
- Function
- Global
- Guide
- Hook
- Instance
- Instruction
- Interface
- Keyword
- Library
- Literal
- Macro
- Method
- Mixin
- Modifier
- Module
- Namespace
- Notation
- Object
- Operator
- Option
- Package
- Parameter
- Plugin
- Procedure
- Property
- Protocol
- Provider
- Provisioner
- Query
- Record
- Resource
- Sample
- Section
- Service
- Setting
- Shortcut
- Statement
- Struct
- Style
- Subroutine
- Tag
- Test
- Trait
- Type
- Union
- Value
- Variable
- Word
Please contact me if none of the currently supported types are suitable for what you're trying to index.
13.6. Table of Contents Support (optional)#
To allow easy navigation inside a large page, Dash is able to show a table of contents at the bottom left. This feature is described in the user guide.
Please note that adding table of contents support is a bit tricky (and optional).
When Dash displays a documentation page, it also looks for special anchors inside the HTML and generates a table of contents. To add table of contents support, you need to go through all the HTML pages and insert anchors in a format that Dash understands. The anchors need to be inserted in the HTML pages themselves.
The format for the anchors is:
The only things that you need to change in the format above are:
Entry type
- one of the supported entry types.Entry name
- the name that is shown by Dash in the table of contents. Preferably, it should be percent escaped.
You can see an example of how to insert anchors at https://github.com/jkozera/zeal/blob/master/gendocsets/extjs/parse.py (in Python).
You'll also need to add this entry in the docset's Info.plist:
Some notes:
- You should URL encode (percent escape) the 'Entry Name' if it contains symbols.
- After changing the Info.plist, you should remove the docset from Preferences > Docsets and re-add it.
- Do not hesitate to contact me if you are having problems with this. The process is a bit confusing.
![How To Go From C++ To Mac App How To Go From C++ To Mac App](/uploads/1/3/4/0/134067098/923386909.png)
Generation Script Examples#
2. Ruby#
See https://github.com/Kapeli/erlang-docset.
3. Objective-C#
See https://github.com/Kapeli/javadocset.
4. Node.js#
See https://github.com/exlee/d3-dash-gen.
Improve Your Docset#
1. Contribute it to Dash#
See https://github.com/Kapeli/Dash-User-Contributions.
2. Set a Main Page#
You can specify the main page that Dash shows when the user opens a docset by adding the following to Info.plist:
The path should be relative to the
Documents
folder inside the docset. It can also be a http://
URL.After adding the main page, remove and re-add the docset in Dash's Preferences.
3. Add an Icon#
To set a custom icon for your docset, simply add a
icon.png
file directly inside the docset bundle. For example, the file path would be <docset name>.docset/icon.png
.How To Go From C++ To Mac Applications
The size of the icon should be 16x16 or 32x32. For Retina display support, you can either use a single 32x32 icon or 2 separate icons:
icon.png
(16x16) and [email protected]
(32x32).After adding the icon, remove and re-add the docset in Dash's Preferences.
4. Support Online Redirection#
Starting with version 3.0, Dash users can open the online version of pages inside docsets. To do that, Dash needs to know where to find the online pages for your docset.
You have 2 options to support online redirection:
- Set the
DashDocSetFallbackURL
key in your docset's Info.plist. The value should be the base URL of the docs. Example:https://docs.python.org/3/library/
- Alternatively, add a HTML comment inside each and every HTML file of your docset. The comment needs to be added next to the
<html>
tag of the pages and should look like this:
5. Support Docset Playgrounds#
Starting with version 4.0, Dash now shows a play button next to docsets which takes users to a playground for the language/framework of the docset. https://generoussexy.weebly.com/handbrake-download-for-mac-yosemite.html. To support it you need to:
- Set the
DashDocSetPlayURL
key in your docset's Info.plist. The value should be the URL of the docset playground. Example:https://repl.it/F9J7/1
for the Swift docset.
6. Enable JavaScript#
By default, Dash does not allow external
.js
scripts. You can enable them by adding this entry to the docset's Info.plist:After adding this entry, remove and re-add the docset in Dash's Preferences.
7. Host a Docset Feed#
Important: It is highly recommended that you contribute your docset to Dash instead of setting up a docset feed. Docset feeds should only be used for docsets which only you, your team or very few users find useful.
Documentation feeds allow Dash users to conveniently install and update docsets. If you want to distribute a docset you should set up a feed for it, so that you'll be able to update it in the future.
Dash documentation feeds are very simple, check one out: NodeJS_Sample.xml.
How To Go From C++ To Mac Apple Computer
- A root
<entry>
element- A
<version>
element. You can use any versioning system you want. Dash will use string comparison to determine whether or not to download an update. - One or several
<url>
elements. These point to the URL of the archived docset.
- A
To archive your docset, use the following command:
Currently only one docset per feed is supported (only one
<entry>
).8. Share a Docset Feed#
You can share docset feeds using a custom URL scheme, which will allow Dash to subscribe to that feed with a single click.
By URL encoded, I mean percent-encoding (e.g. what you’d get by clicking the encode button here).
Example:
How To Go From C++ To Mac Apps
- Subscribes to the http://kapeli.com/feeds/NodeJS.xml feed