Qwitter Readme

version 4.0b5
Last Updated: 02/09/10


What is Qwitter?

Qwitter was originally designed to be a client for the Twitter microblogging service, and that is arguably what it does best. With this release however, Qwitter has evolved into a revolutionary application, bringing the speech and sound-based navigation paradigm it popularized on the Twitter platform to several other services. Qwitter's primary advantage is that you can access these services without ever having to open up another window. You never need to leave the application you are working in.

Qwitter is extremely intuitive to use. After reading through this document, it's likely you'll be using it easily and efficiently in no time. We hope you enjoy the software, and feel free to submit feedback and suggestions to the mailing list.

In addition to Qwitter's existing support for Jaws, Window Eyes and system access, this newest release adds support for the freely available screen reader, NVDA. As of this writing, qwitter will only speak through NVDA if you have a fairly recent development snapshot. Any snapshot dated after 1/26 should work. When NVDA 2010.1 beta is released, it will contain the necessary functionality.

General qwitter concepts

What are sessions?

A session is a set of options that tell Qwitter how to access a particular service you want to use. The first time you run Qwitter after installation, you are presented with the new session dialog. Select the service and then press tab to give this session a name. You will probably want to set Qwitter up to work with Twitter first. We will describe the Twitter session in the next chapter. You can have more than one session for a particular service. For example you can access multiple twitter accounts with Qwitter by creating a new session for each one.

The following commands can be used to work with sessions in Qwitter.

what are buffers?

Buffers are separate areas within qwitter that are used to hold different types of information for review. Each type of session uses buffers in different ways, and we'll show you how to utilize them all Throughout this document.

Using the buffers is very easy. To switch between the various buffers, use ctrl+windows+left and right arrows. Qwitter will announce the buffer you change to, so you'll always know where you are. By default, qwitter places you in the last buffer you've used, even if you restart. Once you've picked a buffer you want to read through, use control+windows+up and down arrows to browse the items. You can use control+win+z to undo the last navigation command you issued.

To go to the most recent or oldest item in the buffer, use ctrl+win+home or end respectively. To move forward or back through the list by 5%, press control+windows+page up or down. To move forward or back by an hour, use control+windows+shift+page up or down. You can adjust how mutch these commands move in the navigation tab of qwitter's main configuration dialog, available by pressing control+shift+windows+o.

If you wish to manually update the buffer you're in, rather than waiting for it to update itself at whatever interval you chose during configuration, use ctrl+win+u. If you ever wish to delete the contents of a buffer from your qwitter database, you can do so by pressing ctrl+shift+win+delete. When the buffer updates again, the newest items will be back in the buffer, up to the maximum that you configured.

Qwitter's main configuration dialog

You can press control+shift+windows+o to bring up Qwitter's main configuration dialog. This dialog controls configuration options that are used throughout the program. We suggest leaving them at the defaults until you have used qwitter for a while, but we'll go over what they are in the sections below. This dialog is divided into sections, or tabs. Press control+tab to move through the sections. Press the ok button when you are finished.

language tab

In this tab you can select which language you wish Qwitter's messages to be in. Several languages are available, and it is quite easy to add more.

Sounds tab

The first option in this tab is for the sound system. The classic sound system is the default, and works well on windows xp. However, if you are using windows vista or windows 7, you will probably like to switch to the new experimental system. This has a few advantages that make it worth using if you can.

The next option you'll come to is where you can choose a soundpack. Qwitter only comes with one soundpack, but people have contributed many others which are available for download at Qwitter Soundpack Central

The next option controls the mute status. The different mute modes are described in a later section.

Speech tab

The first item on this tab, speech output, is set to auto. There will rarely ever be any reason to change this, as qwitter auto-detects your screen reader. If it doesn't detect a supported screen reader, or you're not running one, it will automatically use whatever microsoft speech synthesizer you have selected in your control panel. If for some reason you don't want to use a screen reader even though you're running one, you can instead choose SAPI.

The next 2 options are pretty self explanitory; they allow you to change the rate and volume of microsoft speech if you choose to use SAPI with Qwitter.

The final option on this tab allows you to enable or disable qwitter's speech recognition function. You can also toggle this by pressing shift+windows+s.

Navigation tab

The first option, move by percentage amount (as a %), controls how far qwitter jumps through items when using the prevItemStep and NextItemStep commands.

The next 2 options control how far qwitter jumps through items when using the prevItemTimeStep and nextItemTimeStep functions. They are: move by time (defined as hours:minutes) hours, and move by time (defined as hours:minutes) minutes. The first box determines how many hours qwitter should jump, and the second determines how many minutes qwitter should move. For example, if the hours box was set to 1, and the minutes box was set to 5, qwitter would jump 1 hour and 5 minutes forward or back depending on which command you issued.

The last option on this tab is the undo stack size option. It determines the number of undo operations you can do. For example, if the value of this box is set to 100, you can undo the last 100 commands.

Braille tab

There is currently one option in this tab. The braille spoken text checkbox determines whether qwitter's braille support will be used.

Miscellaneous tab

The first option on this tab is URL shortener to use. If you choose to shorten a URL (you'll learn how later) then this is the service it will use. Qwitter currently supports 3 services, j.mp, bit.ly, and is.gd.

The final option is self-explanatory. If you don't want to be prompted before exiting qwitter, uncheck the Show Confirmation checkbox here.

Quitting Qwitter

If for some reason you wish to close qwitter, use ctrl+win+f4. It'll bring up a confirmation dialogue. Note: Quitting Qwitter has been known to cause some generally horrible things to happen, like the death of innocent kittens.


What is Twitter?

Twitter is an insanely popular micro blogging service, that is, a service which allows you to post short little chunks of no more than 140 characters of text to the web at a time and have these updates, or tweets, as they are called in twitter speak, read by your followers, or the people who are following you. If you don't currently have a twitter account, you may create one

Qwitter was originally created to make using the Twitter system as easy and efficient as possible. There are many advantages to using a Twitter client, and qwitter in particular. Here are just a few:

Initial Setup of the Twitter Session

When you create a Twitter session for the first time, Qwitter will bring up the Twitter configuration dialogue. This dialog controls configuration options that only effect twitter. The only thing you must do at this time is to enter your twitter username and password. We generally suggest leaving the other settings at the defaults until you have used qwitter for a while, but we'll go over what they are in the sections below. This dialog is divided into sections, or tabs. Press control+tab and control+shift+tab to navigate between the various sections. Press the ok button when you are finished. You may return to this dialog at any time in the Twitter session by issuing control+windows+o.

Account tab

This tab is where you provide your username and password. Please note that while twitter.com allows you to sign in with your email address, this method is not supported by qwitter and some features will not work if you do this. Please enter your twitter username instead.

Templates tab

the options in this tab allow you to change the way Qwitter presents information. See the section on the templates system for details of these settings.

Miscellaneous Tab

First we have DM safe mode. This is the one option you may wish to change your first time. If checked, this will make it so that when you reply to a direct mesage (you'll learn about those later in this readme), it will reply as a direct message, rather than a public reply. Also, it will stop you from retweeting direct messages.

The next option controls the way retweets are sent. A later sectionwill fully explain this option and describe working with retweets in full detail.

The last option on this tab is reply to self. If unchecked, qwitter will not allow you to post a reply (You'll learn about those later) to yourself.

Importing old Qwitter databases

Now that Qwitter has switched to a new method for storing information known as session storage, some may find it necessary to import information from their previous Qwitter databases. This is very simple to do. From the Twitter session where you wish the imported tweets to end up, hit control+win+shift+i to bring up the database importer. By default you will be placed in Qwitter's application data directory where all databases were previously stored. Select your database using the provided open dialog, and when prompted, answer yes to the dialog that appears. In a few moments you will receive a message stating that the import completed successfully. If you have problems with this process, insure that the database you are trying to import is in fact in the %appdata%\qwitter folder.

about API calls

Throughout this chapter, you will see references to API calls. Twitter has a limit on how much data you can get from the site in a given hour. Any time you use qwitter or any other twitter client to download tweets, it counts against this limit. Press control+windows+a to check how many API calls you have left for the hour and how long until your limit will be reset.

In most cases, one call to twitter's API can get 200 tweets. By default, Qwitter will only use 1 API call for any operation. You can change this in the default settings tab of the buffer configuration dialog, available with control+windows+alt+o. This dialog will be fully discussed in a later section. You need to always keep this fact in mind whenever changing a setting that will use more API calls than the default. We have chosen tdefault settings that will insure that you should not run up against your hourly limit.

Buffers for Twitter

In a Twitter session, there are four default buffers, or collections of posts. They are home, direct messages, sent, and mentions.

The home buffer holds all received tweets, except for direct messages. These are the tweets of the users you have chosen to follow.

The direct messages buffer holds any direct messages you receive. Direct messages are a way of sending a message that only the person that you want to receive the message can see, or vice versa.

The sent buffer, logically, contains all the tweets that you've sent.

The mentions buffer contains all of the tweets that contain mentions of your screen name. In twitter, if you make a comment that someone wants to respond to, they can make what is referred to as a mention, or reply. From the website they would have to type an @ followed by your username. However in qwitter we take care of that. (see the section on replying.

The buffer configuration dialog

There are a few options that can be set differently for each type of buffer. Control+windows+alt+o will bring up the buffer configuration dialog. The default settings tab will set the defaults for any new buffer that you create, such as searches or individual timelines. You can check the apply settings to all buffers checkbox to use these settings for buffers that already exist.

This dialog has a tab with settings for each buffer. When you open the dialog, the tab for the buffer that you are currently working in will be the default. If you change buffers while this dialog is open, the active tab of the dialog will change to match your current position. The settings available in this dialog are described below.

The first option is the update interval. This allows you to choose how often qwitter checks for updates in a given buffer. The default is 3 minutes. This is the minimum in the default settings tab. You can set a particular buffer as low as 1 minute, but this is not at all recommended. If you are not very careful about this, you will run out of API calls. You have been warned.

Next we have the max number of tweets to retrieve option. This is basically exactly what it says: how many tweets should qwitter download at once? The default is 200, which is the highest allowed by twitter.

If the previous option was set to 200, you have the option of using more than 1 API call if necessary to get caught up on tweets. The next option is the maximum number of API calls to use. Each API call gets up to 200 tweets. Again, this will use more of your hourly API call limit.

following and unfollowing

To follow the sender of the current tweet, or someone mentioned in a tweet, use control+windows+l. If you wish to select someone other than the person that comes up as the first entry, be sure to press down arrow first. Use your screen reader's read current line command to see what is selected. You can also fill in a user name manually.

If at any time you no longer want to get a particular user's tweets in your home buffer, unfollow them with control+shift+windows+l. The sender of the current tweet is the default option but you can also enter a different user name manually.

posting updates

post a new tweet

To post a new tweet, press ctrl+win+n. It will bring up a dialogue and place you in an edit field. Just type away. Twitter limits you to 140 characters, so if you go over this limit qwitter will make a sound to let you know. (Note: Characters are anything you can type, whether it be a letter, punctuation mark, number, symbol, or space.).

If you're curious to know how many characters you've used up so far, use your screen readers read application title command. It will say something along the lines of "new Tweet - 40 of 140," where 40 is the number of characters you've already used. (Believe me, this feature though small, is a very useful one.)

When you're done writing your sage 140 remark of wisdom, press enter. You should hear the tweet sent sound, and qwitter (via your screen reader) will announce "update posted."

Reply to a tweet

Remember us talking about mentions and replies earlier? Here's where we find out how to make them. When you're reading your list of tweets, and you come across one you want to reply to, use ctrl+win+r. It'll bring up a dialogue very similar to the new tweet dialogue.

Just type your reply, and press enter. Take special notice of your character count after you start typing, as part of your available characters go to showing who you're replying to. As before, checking your title will give you an idea of how many characters you have to work with.

Post a direct message

To post a direct message, find a tweet from the person you wish to DM, and press ctrl+win+d. The same type of dialogue comes up. (Note, you can only direct message people that follow you. This is a twitter rule, not a limitation of the Qwitter client. Without this limit, everyone would be flooded with dm spam and that feature would be even more useless than email.)

Deleting a tweet you have posted

It happens to all of us. You reply to the wrong person, or send a public tweet instead of a direct message. Or maybe you simply realize that what you just posted doesn't deserve to see the light of day. If for any reason you wish to delete one of your tweets, simply locate the offending tweet and press control+windows+delete.

view a tweet

You can view any tweet in the view tweet dialog. Press control+win+v to bring up this dialog. Also in this dialog, there is the retweet checkbox. If you check this and press the ok button, the tweet is posted as a retweet. If unchecked, the current tweet is posted as a regular update. Press cancel if you don't wish to do anything with this tweet.

Shortening long URLs

The idea behind URL shortening is that a long URL is replaced by a shorter URL, giving you more characters for your tweet. You may select your preferred shortener from the Miscellaneous tab of the global Configuration dialog, available by pressing control+shift+windows+o. Currently the available shorteners are bit.ly, j.mp and is.gd. This feature is available in the New Tweet, New Reply, and New DM dialogs.

If your URL starts with "http://" or "www." (no quotes), it will be automatically detected. Pressing alt+s or clicking on the "Shorten URL" button will replace your long URL with a shorter one. If the URL you want to replace isn't automatically detected, you can select it and press alt+s which will use your selection. If more than one URL is detected, you'll be presented with a list allowing you to select the URL you wish to shorten.

Delaying a tweet

You have the option to cause a post to be delayed for a specific length of time. In any dialog where you would compose a tweet, there is a checkbox to post this message later. Checking this box will hold the tweet for the length of time that you select. Press tab and change the number of minutes you wish to wait.

Other commands for working with tweets

Following are some commands that make your life easier when working with tweets. We plan to add more of these in the future, and if you have any suggestions, be sure to let us know.

working with favorites

If you come across a tweet that you really appreciate, you can add it to a list of your favorite tweets by pressing alt+windows+f. To remove a tweet from your favorites list, press alt+shift+windows+f. You can also remove a favorite from within the favorites list with control+windows+delete

To bring up a buffer containing your favorites, press control+windows+alt+f. To bring up another user's favorites, press control+shift+windows+alt+f. This will bring up a dialog for you to select the user who's favorites you wish to view. The first option will be the sender of the current tweet. You can press the down arrow to select any other user mentioned in that tweet. Use your screen reader's read current line command to see what is currently selected. You can also enter a different user name manually. You can dismiss a favorites buffer with control+windows+apostrophe.


Retweeting a tweet

If you come across a tweet that you find interesting in some way, you can post it again for your followers to see. This is known as a retweet. Retweets are marked with "RT @username" before the tweet text. To retweet the current tweet, press control+shift+win+r. In the miscellaneous tab of the twitter configuration dialog, You can choose whether you want to add a comment to your retweet. The first setting is recommended. In this mode qwitter will ask you each time you press the retweet command. The second mode will assume you want to send the retweet automatically without comment. The third option will simply assume that you want to comment.

If you are adding a comment, the tweet is shown in the retweet dialog so you can edit it at your leasure. Once you're done, press ok and the tweet is posted.

viewing retweets

To view retweets, press control+win+alt+r. This displays a dialog asking you which type of retweets you would like to view. There are 3 options: my friends retweets, my retweets, and my retweets that have been retweeted by friends. These options are pretty self-explanatory. When you have made your selection, press ok. A buffer containing the type of tweets you selected will be created. Note: this is a new feature of twitter, and may still have some bugs. This also means that some other twitter clients have not yet switched to the new method of posting retweets, so you may not see a lot of tweets in this buffer. Only tweets that are posted through qwitter without comments will appear in these buffers.


The search function of twitter allows you to search for a word or term in publically available tweets across the twittersphere. To begin a new search, press control+win+/. This will bring up a search dialog. If the current tweet contains any hash tags, you can select them by pressing down arrow. Use your screen readers read current line feature to see what is selected. Hashtags are used by people on twitter to make it easier to search for tweets about a given event or topic. For example people attending the 2010 CSun technology conference might be advised to tag their tweets with something like #csun10 to make them easy to search for.

After you have typed in your search term, there are a couple more options you can choose. The first is a checkbox that says "persistent search." If checked, this option stores your search results in the current session, so that if you use the same search term ever again from that session, you'll be able to see the previous results. The second checkbox, save search, tells qwitter that you want this search to come up in a buffer every time you restart qwitter. The next option is the max API calls to use for this search. The default will be whatever you set in the default settings tab of the buffer configuration dialog. Click OK, and a search buffer will be created and you will be placed in this buffer. Note that if you create a saved search, Qwitter will automatically save posts in-session.

Note that these search buffers act just like any other buffer and that they will update as new results come in or if forced to by the force update keystroke. To dismiss a search buffer, or any dismissable buffer, press control+win+apostrophe.


Filters allow you to search a particular buffer for a keyword or term. To bring up the filter dialogue use ctrl+shift+win+f. After you type in your search term, you have a choice to make in the form of the excluding checkbox. IF you leave it unchecked, it basically acts sort of like a find function. Qwitter will find all the tweets that have the term you specified in the buffer you're filtering, and it will put them all in a new buffer for you. However, if you use that excluding checkbox, it will instead find all of the tweets with the search term you specified, and filter them out of your chosen buffer. (#spymaster anyone?) use ctrl+win+apostrophe to dismiss the buffer when you're done with it. At this time, filters only last as long as the current qwitter session.


Twitter has a feature that can show you what some of the most popular topics are at any given moment. There is a list of trends for all of twitter, as well as spacific lists for trends in certain locations. To bring up a buffer containing the current top trends on twitter worldwide, press control+windows+t. To see trends for a spacific location, press control+shift+windows+t. This will bring up a location selection dialog. First choose whether you want to look up trends for an entire country, or for one town or city. Then press tab to choose a location from a list and press enter to see a buffer with trends for that area. Dismiss the buffer with control+windows+apostrophe. Note that these trends are in order with most popular at the top, and when you first pull up the buffer you'll be starting at the bottom.

The public timeline

All tweets posted to twitter are available in the public timeline, with the exception of users who have their tweets protected. You can view a snapshot of the public timeline with control+windows+alt+p. This will bring up a buffer with the latest 20 tweets. Note that with the popularity of twitter, tweets are constantly coming into the public timeline by the thousands. Update the buffer with control+windows+u for another sample.

Listing followers and friends

To bring up a list of your followers, press control+windows+left bracket. Alternatively, to bring up a list of your friends, twitterspeak for people you follow, use control+windows+right bracket. Note that these lists may take a while to load, depending on how many friends or followers you have. You can also have qwitter keep track of new followers and those who stop following you. Bring up your followers list with control+windows+left bracket and wait until the list is loaded. Then press control+windows+alt+left bracket. Qwitter will create a new buffer containing the list. The first time you do this, all of your followers will be reported as new. When you follow these steps in the future, qwitter will list who has started or stopped following you.

You may also add the shift key to these commands to view the followers or friends of a different user. This will bring up a dialog where you can select a user. The sender of the current tweet is the first option in this dialog. You can select anyone mentioned in the current tweet by pressing down arrow. Use your screen readers read current line feature to see what is selected. You can enter a username manually as well. There is an option for the maximum API calls to use. This will start out with the setting you chose in the default settings tab of the buffer configuration dialog. Each API call gets up to 100 friends or followers. You can change this by adjusting the max API calls to use. When your done, press ok. This will create a new buffer containing that person's followers or friends. Dismiss the buffer with control+win+apostrophe.

Note: Just like any other buffer, you can use all standard keystrokes for unfollowing/following, replying, direct messaging, etc. on these users.

Note: the extra information spoken about each user can be customized in the templates tab of the configuration dialog with the friends and followers template. See the section on templates for more information.

Getting the location of a tweet

Twitter has a feature that allows people to include exact location information with their tweets, and Qwitter makes it easy to hear this information. If the sender's client is including this geolocation data, simply pressing control+win+g will tell you where the person was when they wrote a given tweet. Pressing control+shift+win+g will display the same information in a text box so that you can review or copy it.

This is a relatively new feature of twitter, and some clients may not support it yet. Also, people can choose not to participate with this feature. Therefore, this will not work with all tweets. By default on new installations, qwitter will alert you when location information is available.

If you are upgrading, you can modify your tweet template in the configuration dialog in order to be notified of tweets with location data. Placing the following conditional template at the start of the tweet template will work well.

$?geo=="yes"?*geo*? ?

See the section on templates for more information.

You also have the option to input latitude and longitude coordinates manually. Press control+win+shift+alt+g and Qwitter will prompt you for the information. If the current tweet contains geolocation data, those coordinates will be filled in by default. The coordinates you enter will be looked up and the location will be displayed in a text box.

device notifications

Twitter can also send tweets to your mobile phone via text message, if you have it configured on twitter.com. These are known as device notifications. You can decide who's tweets you'd like to receive on a per-user basis. To change this, find a tweet from the user you'd like to change, and press control+win+shift+d. This will toggle the state of that user's device notifications on. Pressing it again will turn notifications off.

Editing your profile

You can change the information listed in your twitter profile from qwitter. Press control+win+shift+p to bring up a dialog where you can change any of the fields in your profile.

Getting Information about a user

Viewing a user's tweets

You may choose to view the individual timeline for any user. Simply press control+win+i. This will bring up the individual buffer dialog. The sender of the current tweet is the first option in this dialog. You can select anyone mentioned in the current tweet by pressing down arrow. Use your screen readers read current line feature to see what is selected. You can enter a username manually as well. By pressing tab, you can choose how many tweets you want to get with each updates. If you select 200 you can also set the max API calls to use per update. Each API call can get 200 tweets. By befault this setting matches what you set in the default tab of the buffer configuration dialog. When your done, press ok. This will create a new buffer containing that person's latest tweets. Dismiss the buffer with control+win+apostrophe.

Viewing a user's profile

There are 2 ways of accessing the information listed in another user's Twitter profile.

  1. Press control+shift+win+semicolon. This first displays a dialog asking whose user profile you would like to view. The sender of the current tweet is the first option in this dialog. You can select anyone mentioned in the current tweet by pressing down arrow. Use your screen readers read current line feature to see what is selected. You can enter a username manually as well. When you're done, press ok. The resulting dialog contains all the information you could ever want about a users twitter profile (there name, screen name, number of followers, friends, and tweets, etc)

Mute modes

You have several options to determine which sounds qwitter will make. By default, mute mode is completely off. You can adjust this setting in the sounds tab of the qwitter configuration dialog available with control+shift+windows+o, or you can toggle through the options with control+windows+m. You have the following options:

The template system

You can customize how qwitter announces information by changing the options in the templates tab of the configuration dialog. The format is controled by templates that you can change by using the information in the following tables.

templates for formatting tweets

The first several templates control how qwitter handles tweets. The following table lists variables that you can use to customize the output.

Variable Description
$time The exact time the tweet was posted.
$date The date the tweet was posted.
$when An Estimate of how long ago the tweet was sent.
$name The name of the person who sent the tweet.
$screen_name The screen name of the user who posted the tweet|
$message The text of the tweet.
$from The name of the twitter client that was used to post the current tweet, or web if it was posted directly on twitter.com.
$index A number representing the tweet's location in the buffer, with 1 being the newest. |
$total The total number of tweets in the current buffer. This is most useful in conjunction with $index. For example, $index of $total might say 30 of 165.
$geo Indicates whether or not geolocation data is available for a tweet.

Templates for formatting user information

The last two templates specify what is spoken when qwitter lists information about users. The $friends and followers template determines what is spoken when viewing those lists, and the user info template determines the items spoken when control+win+semicolon is pressed. The following table lists the available variables. In addition to those mentioned below, $index and $total also work as previously described.

Variable |Description |
$name Will be replaced with the user's real name.
$screen_name Will be replaced with the user's screen name on twitter.
$location Will be replaced with any location information the user specified in their profile. |
$bio Will be replaced with the users bio. |
$url Will be replaced with the address of a user's web site if one was set. |
$followers_count Will be replaced with the number of followers a user has. 
$friends_count Will be replaced with the number of people a user is following. |
$tweets_count Will be replaced with the number of tweets a user has posted since joining Twitter. |
$when Estimates how long ago a user joined twitter. |
$date Will be replaced with the date on which the user joined twitter
$time Will be replaced with the exact time that a user joined twitter. Best used right after $date|
$local_time Will be replaced with the current time in the user's local time zone.
$local_date Will be replaced with the date in the user's local time zone.
$last_tweet_when Estimates how long ago a user last posted a tweet. This is only available in the friends and followers template. |
$last_tweet_time Gives the exact time of a user's last tweet. This is only available in the friends and followers template. |
$last_tweet_date Gives the date of the user's last tweet. This is only available in the friends and followers template. |
$protected Indicates whether a user has protected their tweets. This is only available in the friends and followers template.

Conditional Templates

Conditional templates allow you to customize what qwitter speaks based on the contents of your templates. This is useful for items such as $protected which are yes or no. The format for a conditional template is $?expression?if_true?if_false? where expression is something like "followers_count>100", if_true is what qwitter says if there are more than 100 followers, and if_false is what qwitter says if there are less than 100 followers. A complete example using $protected is

$?protected=="yes"?is protected?is public?

which makes qwitter say is protected for users who keep their tweets private or is public for users who make their tweets public. Another example using $geo is described in the section on geolocation. Conditional templates are optional. If you're not interested or they don't make sense just leave the question marks out of your templates.

Searching the internet with bing

Now you can search the internet using Microsoft's Bing search engine from anywhere on your desktop with qwitter. Simply press control+shift+win+n, select Bing and name the session.

To start a search, press control+win+/. This will open the bing search dialog. Type in your query and press enter. Each search that you conduct through qwitter will be held in it's own buffer. You will be placed at the top search result, and you move through the results with control+win+up and down arrows. Press control+win+enter to launch the selected search result in your default browser.


What is Solona?

At one time or another, you've probably come across a web site that wanted you to solve a captcha in order to register for the site, comment on a blog, etc. These are the words or numbers that you have to copy back into an edit field to prove that you are not a computer program. This is exactly the problem. Since they are designed to be unreadable by computer programs, this includes legitimate programs like screen reading software. This is where the Solona service comes into play. Solona is a volunteer-based service which solves captchas for blind users. Qwitter completely automates the process of submitting a captcha to Solona and getting the answer back.

Setting up solona

If you have not already signed up before, go to www.solona.net. Select the register link and fill out the form.

Now press control+windows+shift+n to access the new session dialog. Select Solona, press tab, and give the session any name you like. The Solona configuration dialog will now appear. Enter the username and password you chose for solona and press enter. This dialog also has a settings tab. Here you can select whether captcha solutions are displayed in a message box or automatically copied to the clipboard. Once you are through with this dialog, You are ready to automatically submit a captcha to solona.

Submitting a captcha to solona

In your web browser, get to the page containing the captcha you want to solve. For the sake of privacy, you will want to submit the captcha to Solona before filling out any personal information. Find the field where you will have to copy the text. activate the Jaws forms mode, NVDA focus mode or turn off the Window Eyes browse mode.

If you are in another qwitter session, press control+shift+windows+right arrow until you are in your Solona session. Qwitter will insure that someone at Solona is available to handle your request, and will not submit the captcha if Solona is offline. You may also check the status of Solona yourself by pressing control+win+s. Now press control+win+c to submit the captcha. Qwitter will announce that it is taking the screenshot, and a few seconds later it will announce that it is submitting the image. A solution should be returned in under a minute. Depending on how you configured qwitter, the solution will either be copied to the clipboard for you or it will come up in a message box. If you have chosen the message box, Select the solution that Solona has returned with control a, and copy it to the clipboard with control c. Then press the close button to dismiss the box. Now just paste the result into the form with control v, fill out the rest of the form and submit as usual. It's that easy.

You can also submit an image that you have captured by some other means by pressing control+windows+alt+f.

The stopwatch

Qwitter can even act as a handy countdown timer. Open the new session dialog with control+shift+windows+n, select Stopwatch as the session type and name this session.

Press control+windows+c to create a countdown timer. Enter the time that you'd like to put on the timer and press ok. Qwitter will announce when time is up, no matter what session you are working in.

tweaking qwitter

Changing qwitter's default key assignments

All of the keystrokes used in qwitter can be easily changed. Press control+windows+k to access the keystroke manager. Every keystroke that is available in the current session will be listed here. You can change a keystroke's assignment with the edit button, or remove it entirely with the delete button. If you remove a function, you can later assign it again with the add button.

Portable mode

If you run Qwitter with -p or --portable on the command line or from a shortcut, it will run in portable mode, meaning that any files it reads and rights will be kept in the qwitter program's current directory, making it ideal to use on a thumb drive.

Technical Support

I get a message that states that the application cannot start because the configuration is incorrect.

ON occasion people receive this error. You'll need to install some components from Microsoft. Fortunately, there're links to them from our downloads page.

Look for the link that says "The Visual C++ 2008 SP1 Redistributable." Make sure you get the correct one though, as there are ones for both 32 bit and 64 bitt systems.

I get a message that states that the program can not start because the log file could not be accessed.

On operating systems starting with windows vista, people sometimes get this message the first time they run qwitter. There is a simple fix for this.

Locate the installed qwitter icon and press shift+f10 or the applications key if you have it. Arrow down to run as administrator and press enter. A user account control dialog will appear asking if you would like to allow the application access to your computer. Answer yes to this prompt and qwitter should start as normal.

Note: You should only have to do this once.

When writing a tweet, it is difficult to review what I've written using jaws.

There is a known conflict between Qwitter and the jaws scripts for the McTwit application. Jaws is associating Qwitter dialog boxes with the McTwit scripts, a combination that does not work. At this time, the only known solution is to remove the McTwit scripts from your system. Mctwit is still very accessible without them.

My sounds don't seem to work correctly.

On some systems, most notably windows XP, the sound system we use doesn't function like it should. If you encounter this problem, go into the global configuration dialogue, and change the sound system choice from beta to classic.

I have a question/comment/concern that's not covered in this readme.

If you have questions that aren't answered in this readme, an excellent source of aditional information is the Qwitter wiki. This site is regularly updated with answers to frequently asked questions.

If you still haven't found the answer to your question, the best way of getting your question answered is to post it to the qwitter-discuss mailing list. This list has several people who are glad to help. There are two ways to subscribe to the list. You can send a blank email to or go to The list page Either way, you will then receive a confirmation message that you must respond to.

Please note that the people listed here can usually be found on the mailing list described above, along with several other helpful individuals. This is the prefered way of getting support. However, if you still wish to contact one of us for technical support, or for any questions/comments/suggestions in reference to this readme, we can be reached via the following.

Nehemiah Hall

Justin Ekis


The idea behind a UI-Less Twitter client belongs to Sean Randall, , who originally brought us Jawter.

Christopher Toth, , is responsible for a majority of the code behind Qwitter, so if something breaks it's probably best to blame him first.

hllf, , is largely responsible for many of the advanced features Qwitter supports for Twitter. He contributes code when he can find the time, and he enjoys fixing a lot of pesky bugs.

Haden Pike, , has done a remarkable amount of work on Qwitter, helping out @Mongoose_Q when he's stuck in college badness.

David Sexton, , contributes code from time to time, especially the Quitting Qwitter code that kills the kittens.

Jason White, , is behind some important aspects of the configuration dialog.

Matt Campbell, , added System Access support to Qwitter.

Nehemiah Hall, , Was responsible for the original text of this readme, and serves as a general idea factory.

Justin Ekis, , Keeps this readme up-to-date, and found a way to make it much more simple to update it going forward.

Chris Nestrud, , assists Qwitter in being the bestest client it can be.

Final Thoughts

I wanna be a Mongoose!