• Stars
    star
    237
  • Rank 169,885 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Twitter client written in simple Bash script

tweet.sh, a Twitter client written in simple Bash script

A one-file bash script Twitter Client (depending on some helper commands). This project is mainly started to demonstrating my shell scripting skills, so only limited features of Twitter APIs are supported.

Setup

You need to prepare API keys at first. Go to the front page, create a new app, and generate a new access token.

Then put them as a key file at ~/.tweet.client.key, with the format:

MY_SCREEN_NAME=xxxxxxxxxxxxxxxxxxx
MY_LANGUAGE=xx
CONSUMER_KEY=xxxxxxxxxxxxxxxxxxx
CONSUMER_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

If there is a key file named tweet.client.key or .tweet.client.key in the current directory, tweet.sh will load it. Otherwise, the file ~/.tweet.client.key will be used as the default key file.

Moreover, you can give those information via environment variables without a key file.

$ export MY_SCREEN_NAME=xxxxxxxxxxxxxxxxxxx
$ export MY_LANGUAGE=xx
$ export CONSUMER_KEY=xxxxxxxxxxxxxxxxxxx
$ export CONSUMER_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ export ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ export ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ ./tweet.sh post "Hello!"

This form will be useful to implement a bot program.

And, this script uses some external commands. You need to install them via package system on your environment: apt, yum or something. Required commands are:

  • curl
  • jq
  • nkf
  • openssl

Usage

$ ./tweet.sh [command] [...arguments]

Available commands are:

  • help: shows usage of the tweet.sh itself.
  • Reading existing tweets (require "Read" permission)
    • fetch (get, show): fetches a JSON string of a tweet.
    • search: searches tweets with queries.
    • fetch-favorites (fetch-fav): fetches favorite tweets.
    • fetch-tweets (fetch-posts): fetches tweets of a user.
  • type: detects the type of the given input.
  • body: extracts the body of a tweet.
  • owner: extracts the owner of a tweet.
  • get-list-members: gets a list's member information.
  • showme: reports the raw information of yourself.
  • whoami: reports the screen name of yourself.
  • language (lang): reports the selected language of yourself.
  • Making some changes (require "Write" permission)
    • post (tweet, tw): posts a new tweet.
    • reply: replies to an existing tweet.
    • upload: uploads an image file. (deprecated)
    • delete (del, remove, rm): deletes a tweet.
    • favorite (fav): marks a tweet as a favorite.
    • unfavorite (unfav): removes favorited flag of a tweet.
    • retweet (rt): retweets a tweet.
    • unretweet (unrt): deletes the retweet of a tweet.
    • follow: follows a user.
    • unfollow: unfollows a user.
  • Operate direct messages (require "Access direct messages" permission)
    • fetch-direct-messages (fetch-dm, get-direct-messages, get-dm): fetches recent DMs.
    • direct-message (dm): sends a DM.
    • delete-direct-message (delete-dm, del-dm): deletes a DM.
  • Misc.
    • resolve: resolves a shortened URL.
    • resolve-all: resolve all shortened URLs in the given input.

Detailed logs can be shown with the DEBUG flag, like:

$ env DEBUG=1 ./tweet.sh search -q "Bash"

This script is mainly designed to be a client library to implement Twitter bot program, instead for daily human use. For most cases this script reports response JSONs of Twitter's APIs via the standard output. See descriptions of each JSON: a tweet, an event, and other responses also.

Some commands require URL of a tweet, and they accept shortened URLs like http://t.co/***. Such URLs are automatically resolved as actual URLs like https://twitter.com/***/status/***. The detectipn pattern for such shortened URLs is defined as URL_REDIRECTORS in the script, and it must be updated for new services.

Reading existing tweets

fetch (get, show): fetches a JSON string of a tweet

  • Parameters

    • 1st argument: the ID or the URL of the tweet.
  • Standard output

  • Example

    $ ./tweet.sh fetch 0123456789
    $ ./tweet.sh fetch https://twitter.com/username/status/0123456789
    $ ./tweet.sh get 0123456789
    $ ./tweet.sh show 0123456789
    

search: searches tweets with queries.

  • Parameters

    • -q: queries. If you specify no query, then you'll see sample tweets as results.
    • -c: maximum number of tweets to be responded. 10 by default. (optional)
    • -s: the id of the last tweet already known. (optional) If you specify this option, only tweets newer than the given tweet will be returned.
    • -m: the id of the tweet you are searching tweets older than it. (optional) If you specify this option, only tweets older than the given tweet will be returned.
    • -t: type of results. (optional) Possible values: recent (default), popular, or mixed.
    • -h: command line to run for each search result. (optional) (It will receive tweets via the standard input.)
    • -w: start watching without handler. (optional)
  • Standard output

  • Example

    $ ./tweet.sh search -q "queries" -c 10
    $ ./tweet.sh search -q "Bash OR Shell Script"
    $ ./tweet.sh search -q "Bash OR Shell Script" -h 'echo "found!"; cat'
    $ ./tweet.sh search -q "Bash OR Shell Script" -w |
        while read -r tweet; do echo "found!: ${tweet}"; done
    

fetch-favorites (fetch-fav): fetches favorite tweets.

  • Parameters

    • -u: the screen name of the owner favorites to be fetched from. Yourself by default.
    • -c: maximum number of tweets to be fetched. 10 by default.
    • -s: the id of the last tweet already known. (optional) If you specify this option, only tweets newer than the given tweet will be returned.
    • -m: the id of the tweet you are searching tweets older than it. (optional) If you specify this option, only tweets older than the given tweet will be returned.
  • Standard output

  • Example

    $ ./tweet.sh fetch-favorites -c 20
    $ ./tweet.sh fetch-fav -c 10 -s 0123456789
    

fetch-tweets (fetch-posts): fetches tweets of a user.

  • Parameters

    • -u: the screen name of the owner of tweets to be fetched from. Yourself by default.
    • -c: maximum number of tweets to be fetched. 10 by default.
    • -s: the id of the last tweet already known. (optional) If you specify this option, only tweets newer than the given tweet will be returned.
    • -m: the id of the tweet you are searching tweets older than it. (optional) If you specify this option, only tweets older than the given tweet will be returned.
    • -a: include replies.
    • -r: include retweets.
    • -f: returns full text of the tweet (not truncated) sends tweet_mode=extended The json response changes the usual returned field from text to full_text.
  • Standard output

  • Example

    $ ./tweet.sh fetch-tweets -u screen_name -c 20
    $ ./tweet.sh fetch-posts -u screen_name -c 10 -s 0123456789
    

Streaming

Basically this command provides ability to get search result based on the given query.

If you want to observe new tweets matched to the query continuously, specify a callback command line as the handler via the -h option.

$ ./tweet.sh search -q "queries" -h "echo 'FOUND'; cat"

In this case, only -q and -h options are available. The script doesn't exit automatically if you specify the -h option. To stop the process, you need to send the SIGINT signal via Ctrl-C or something.

type: detects the type of the given input.

  • Parameters

  • Standard output

    • The data type detected from the input. Possible values:
      • event-follow: An event when you are followed.
      • direct-message: A direct message. It can be wrapped with a key direct_message.
      • quotation: A commented RT.
      • retweet: An RT.
      • mention: A mention or reply.
      • search-result: A tweet which is matched to the given keywords.
  • Example

    $ echo "$tweet_json" | ./tweet.sh type -k keyword1,keyword2
    

This command provides ability to detect the type of each object returned from the user stream. For unknown type input, this returns an exit status 1 and reports nothing.

body: extracts the body of a tweet.

  • Parameters

  • Standard output

    • The body string of the tweet.
  • Example

    $ ./tweet.sh body 0123456789
    $ ./tweet.sh body https://twitter.com/username/status/0123456789
    $ echo "$tweet_json" | ./tweet.sh body
    

owner: extracts the owner of a tweet.

  • Parameters

  • Standard output

    • The screen name of the owner.
  • Example

    $ ./tweet.sh owner 0123456789
    $ ./tweet.sh owner https://twitter.com/username/status/0123456789
    $ echo "$tweet_json" | ./tweet.sh owner
    

get-list-members: gets a list's member information.

  • Parameters

    • 1st argument: the ID or the URL of a list.
  • Standard output

  • Example

    $ ./tweet.sh get-list-members 0123456789
    $ ./tweet.sh get-list-members https://twitter.com/i/lists/0123456789
    

showme: reports the raw information of yourself.

This will be useful if you want to get both informations whoami and language at once.

whoami: reports the screen name of yourself.

  • Parameters

    • Nothing.
  • Standard output

    • The screen name of yourself.
  • Example

    $ ./tweet.sh whoami
    username
    

Important note: the rate limit of the API used by this command is very low. If you want to call another language command together, then you should use showme command instead.

language (lang): reports the selected language of yourself.

  • Parameters

    • Nothing.
  • Standard output

    • The language code selected by yourself.
  • Example

    $ ./tweet.sh language
    en
    $ ./tweet.sh lang
    en
    

Important note: the rate limit of the API used by this command is very low. If you want to call another whoami command together, then you should use showme command instead.

Making some changes

post (tweet, tw): posts a new tweet.

  • Parameters

    • -i: path to an image file. You can specify this multiple times. (optional)
    • -m: comma-separated list of uploaded image IDs. See also the upload command. (deprecated, left for backward compatibility)
    • -l: add location to tweet. (optional)
    • All rest arguments: the body of a new tweet to be posted. If you don't specify no extra parameters, this command reads posting body from the standard input.
  • Standard output

  • Example

    $ ./tweet.sh post A tweet from command line
    $ ./tweet.sh post 何らかのつぶやき
    $ ./tweet.sh tweet @friend Good morning.
    $ ./tweet.sh tw -i ~/photos/1.jpg -i ~/photos/2.jpg My Photos
    $ ./tweet.sh tw -i ~/photos/1.jpg -i ~/photos/2.jpg
    $ ./tweet.sh tw -m 123,456,789 My Photos (old form)
    $ ./tweet.sh post -l A tweet with location
    $ cat body.txt | ./tweet.sh post
    

All rest arguments following to the command name are posted as a tweet. If you include a user's screen name manually in the body, it will become a mention (not a reply).

reply: replies to an existing tweet.

  • Parameters

    • -i: path to an image file. You can specify this multiple times. (optional)
    • -m: comma-separated list of uploaded image IDs. See also the upload command. (deprecated, left for backward compatibility)
    • 1st rest argument: the ID or the URL of a tweet to be replied.
    • All other rest arguments: the body of a new reply to be posted. If you don't specify no extra parameters, this command reads posting body from the standard input.
  • Standard output

  • Example

    $ ./tweet.sh reply 0123456789 @friend A regular reply
    $ ./tweet.sh reply 0123456789 A silent reply
    $ ./tweet.sh reply https://twitter.com/username/status/0123456789 @friend A regular reply
    $ ./tweet.sh reply https://twitter.com/username/status/0123456789 A silent reply
    $ ./tweet.sh reply -i ~/photos/1.jpg -i ~/photos/2.jpg 0123456789 Photo reply
    $ ./tweet.sh reply -m 123,456,789 0123456789 Photo reply (old form)
    $ cat body.txt | ./tweet.sh reply 0123456789
    

Note that you have to include the user's screen name manually if it is needed. This command does not append it automatically.

upload: uploads an image file. (deprecated)

Today the post command supports uploading image files together with the posting body, thus you don't need to upload files by your hand. This command is still available for backward compatibility.

This command accepts only image files and cannot upload other type media files due to a restriction of the depending API itself. You need to use twurl or other helpers to upload non-image media files.

delete (del, remove, rm): deletes a tweet.

  • Parameters

    • 1st argument: the ID or the URL of a tweet to be deleted.
  • Standard output

  • Example

    $ ./tweet.sh delete 0123456789
    $ ./tweet.sh del https://twitter.com/username/status/0123456789
    $ ./tweet.sh remove 0123456789
    $ ./tweet.sh rm https://twitter.com/username/status/0123456789
    

favorite (fav): marks a tweet as a favorite.

  • Parameters

    • 1st argument: the ID or the URL of a tweet to be favorited.
  • Standard output

  • Example

    $ ./tweet.sh favorite 0123456789
    $ ./tweet.sh favorite https://twitter.com/username/status/0123456789
    $ ./tweet.sh fav 0123456789
    $ ./tweet.sh fav https://twitter.com/username/status/0123456789
    

unfavorite (unfav): removes favorited flag of a tweet.

  • Parameters

    • 1st argument: the ID or the URL of a tweet to be unfavorited.
  • Standard output

  • Example

    $ ./tweet.sh unfavorite 0123456789
    $ ./tweet.sh unfavorite https://twitter.com/username/status/0123456789
    $ ./tweet.sh unfav 0123456789
    $ ./tweet.sh unfav https://twitter.com/username/status/0123456789
    

retweet (rt): retweets a tweet.

  • Parameters

    • 1st argument: the ID or the URL of a tweet to be retweeted.
  • Standard output

  • Example

    $ ./tweet.sh retweet 0123456789
    $ ./tweet.sh retweet https://twitter.com/username/status/0123456789
    $ ./tweet.sh rt 0123456789
    $ ./tweet.sh rt https://twitter.com/username/status/0123456789
    

Note, you cannot add extra comment for the retweet. Instead, if you want to "quote" the tweet, then you just have to post with the URL of the original tweet.

$ ./tweet.sh post Good news! https://twitter.com/username/status/0123456789

unretweet (unrt): deletes the retweet of a tweet.

  • Parameters

    • 1st argument: the ID or the URL of a tweet to be unretweeted.
  • Standard output

  • Example

    $ ./tweet.sh unretweet 0123456789
    $ ./tweet.sh unretweet https://twitter.com/username/status/0123456789
    $ ./tweet.sh unrt 0123456789
    $ ./tweet.sh unrt https://twitter.com/username/status/0123456789
    

follow: follows a user.

  • Parameters

    • 1st argument: the screen name of a user to be followed, or a URL of a tweet.
  • Standard output

  • Example

    $ ./tweet.sh follow @username
    $ ./tweet.sh follow username
    $ ./tweet.sh follow https://twitter.com/username/status/012345
    

unfollow: unfollows a user.

  • Parameters

    • 1st argument: the screen name of a user to be unfollowed, or a URL of a tweet.
  • Standard output

  • Example

    $ ./tweet.sh unfollow @username
    $ ./tweet.sh unfollow username
    $ ./tweet.sh unfollow https://twitter.com/username/status/012345
    

#Operate direct messages

fetch-direct-messages (fetch-dm, get-direct-messages, get-dm): fetches recent DMs.

  • Parameters

    • -c: maximum number of messages to be fetched. 10 by default.
  • Standard output

  • Example

    $ ./tweet.sh fetch-direct-messages -c 20
    $ ./tweet.sh get-direct-messages -c 20
    

direct-message (dm): sends a DM.

  • Parameters

    • All arguments: the body of a new direct message to be sent. If you don't specify no parameter, this command reads message body from the standard input.
  • Standard output

  • Example

    $ ./tweet.sh direct-message @friend Good morning.
    $ ./tweet.sh direct-message friend Good morning.
    $ ./tweet.sh dm @friend Good morning.
    $ ./tweet.sh dm friend Good morning.
    $ cat body.txt | ./tweet.sh direct-message @friend
    

delete-direct-messages (delete-dm, del-dm): deletes a DM.

  • Parameters

    • The only one argument: the ID of the direct message to be deleted.
  • Standard output

  • Example

    $ ./tweet.sh delete-direct-messages 12345
    $ ./tweet.sh delete-dm 12345
    $ ./tweet.sh del-dm 12345
    

#Misc.

resolve: resolves a shortened URL.

  • Parameters

    • 1st argument: a shortened URL.
  • Standard output

    • The resolved original URL.
  • Example

    $ ./tweet.sh resolve https://t.co/xxxx
    

resolve-all: resolve all shortened URLs in the given input.

  • Parameters

    • Nothing.
  • Standard output

    • The given input with resolved URLs.
  • Example

    $ cat ./tweet-body.txt | ./tweet.sh resolve-all
    

Miscellaneous Examples

Search tweets with keywords and retweet all results

$ ./tweet.sh search -q "keyword" |
     jq -c '.statuses[]' |
     while read -r tweet; do ./tweet.sh retweet $(echo "$tweet" | jq -r .id_str); done

More Repositories

1

treestyletab

Tree Style Tab, Show tabs like a tree.
JavaScript
3,485
star
2

multipletab

Multiple Tab Handler, Provides feature to close multiple tabs.
JavaScript
81
star
3

copy-selected-tabs-to-clipboard

Provides ability to copy title and URL of selected tabs to the clipboard for Firefox 63 and later.
JavaScript
80
star
4

textlink

Text Link, Allows URI texts written in webpages to be loaded by double clicks.
JavaScript
59
star
5

suspendtab

Suspends background old tabs automatically to save memory usage.
JavaScript
55
star
6

xulmigemo

XUL/Migemo, Provides advanced incremental search for any language.
JavaScript
37
star
7

tweetbot.sh

A bot program for Twitter, written in simple Bash script
Shell
30
star
8

tst-more-tree-commands

Provides extra tree manipulation commands for Tree Style Tab.
JavaScript
24
star
9

webextensions-lib-shortcut-customize-ui

Generates configuration UI for keyboard shortcuts, for WebExtensions-based Firefox addons.
JavaScript
20
star
10

tst-bookmarks-subpanel

This is a Firefox addon providing the "Bookmarks" subpanel for Tree Style Tab.
JavaScript
18
star
11

save-selected-tabs-to-files

Provides ability to save selected tabs to local files for Firefox 63 and later.
JavaScript
18
star
12

restartless

Restartless Addon, A template for restartless addons.
JavaScript
17
star
13

foxsplitter

Fox Splitter (old name: Split Browser), Splits browser window as you like.
JavaScript
17
star
14

makexpi

Build scripts for XPI: creating, publishing and providing auto-update.
Shell
13
star
15

webextensions-lib-configs

Configuration library for Firefox addons based on WebExtensions
JavaScript
10
star
16

newtabfromlocationbar

Opens new tabs from the location bar, by conditions.
JavaScript
9
star
17

webextensions-lib-l10n

Provides ability to localize your HTML file with i18n messages.
JavaScript
9
star
18

ctxextensions

ContextMenu Extensions, Adds many useful features to the browser.
JavaScript
9
star
19

piping.sh

Allows you to use an SSH server as a piping-server.
Shell
8
star
20

aggregate-tabs-to-main-window

Aggregate new tabs to a window which has most many tabs and largest size.
JavaScript
8
star
21

secondsearch

Second Search, Shows tiny popup for the search bar, to allow you to search by another engine quickly.
JavaScript
8
star
22

node-mozlz4a

Library to operate Mozilla Firefox's compressed files (jsonlz4 etc.)
JavaScript
7
star
23

webextensions-lib-menu-ui

Menu-like UI library for Firefox addons based on WebExtensions
JavaScript
7
star
24

popupalt

Popup ALT Attribute, Popups alternate texts of images or others like NetscapeCommunicator(Navigator) 4.x, and show long descriptions in the multi-row tooltip.
JavaScript
7
star
25

autodisableime

Auto Disable IME, Makes IME disabled automatically.
JavaScript
7
star
26

moezilla-memorial-photobook

A project to issue Moezilla photobook including articles of Mozilla Firefox and Thunderbird history
6
star
27

tabkiller

Tab Killer, Disables tabbed browsing features of Mozilla completely.
JavaScript
6
star
28

emoji-editor-html

Simple WYSWIG Emoji Editor
HTML
6
star
29

openlinkintab

Loads links in new tabs, by conditions.
JavaScript
6
star
30

autocomplete-forms-clean

Activate autocomplete for all webpages (forked version of https://addons.mozilla.org/firefox/addon/autocomplete-forms-for-firefox/ )
JavaScript
6
star
31

viewsourceintab

Source Viewer Tab, Shows web page sources in tab.
JavaScript
6
star
32

tst-indent-line

Provides "indent line" feature for Tree Style Tab extension.
JavaScript
5
star
33

tabsonbottom

Applies "Tabs on Bottom" appearance for Firefox.
JavaScript
5
star
34

tst-lock-tree-collapsed

Add ability to lock specific tree as "collapsed".
JavaScript
5
star
35

treestyletab-sessionstore-migrate

Migrates Tree Style Tab's tree structure information embedded in sessionstore.jsonlz4.
JavaScript
5
star
36

linemarker

Line Marker, Adds a new menu "Line Marker" to the context menu. It changes color of selection.
JavaScript
5
star
37

bookmarks2pane

2 Pane Bookmarks, shows the Bookmarks sidebar panel with 2 pane style like 0pera.
JavaScript
5
star
38

rubysupport

XHTML Ruby Support, Adds XHTML Ruby support. Ruby texts will be rendered above the base texts, as a small text.
JavaScript
5
star
39

system-admin-girl-handson

See also https://system-admin-girl.doorkeeper.jp/events/22836
Shell
4
star
40

tst-tab-drag-handle

Provides UI to start tab dragging for different purposes.
JavaScript
4
star
41

rulerbar

Ruler Bar, Shows a ruler in the mail composition window of Thunderbird.
JavaScript
4
star
42

tiny-esm-test-runner

Small test runner for ESModules style modules on Node.js
JavaScript
4
star
43

informationaltab

Informational Tab, Provides thumbnail, progress meter, or others to each tab.
JavaScript
4
star
44

webextensions-lib-options

Provides ability to build options page.
JavaScript
4
star
45

ezsidebar

Ez Sidebar, Allows to take web pages into sidebar panels, and provides undockable Sidebar.
JavaScript
4
star
46

openbookmarkintab

Open Bookmarks in New Tab, Always opens new tab from bookmarks.
JavaScript
4
star
47

policymanager

Policy Manager, Provides a dialog to customize policy settings.
JavaScript
4
star
48

tst-open-bookmarks-as-partial-tree

Provides ability to open only some bookmarks in a folder as a partial tree on Tree Style Tab.
JavaScript
4
star
49

urnsupport

URN Support, Adds URN support to the browser.
Perl
4
star
50

unifiedsidebar

Unified Sidebar, Unifies the sidebar and vertical tab bar.
JavaScript
4
star
51

takahashi-method-xul

A minimal presentation software written in XUL.
JavaScript
3
star
52

tst-active-tab-on-scrollbar

Provides a marker to indicate active tab position in Tree Style Tab sidebar.
JavaScript
3
star
53

reloadprogressively

Reload Tabs Progressively, Limits number of reloaded tabs in a time.
JavaScript
3
star
54

fxaddonlibs

Libraries to develop Firefox/Thunderbird addons
JavaScript
3
star
55

tst-auto-group-tabs

Provides ability to group newly opened tabs automatically in various conditions with Tree Style Tab.
JavaScript
3
star
56

vscode-theme-kokuban

Color scheme like a kokuban (chalkboard), for the Visual Studio Code.
2
star
57

tabextensions-smoothresize

Patch for Tabbrowser Extensions, to make resizing of the window smoothly.
JavaScript
2
star
58

consoleplus

Console Plus, adds some options to the Error Console. This project was obsolete, "console2" is recommended.
JavaScript
2
star
59

tabextensions-macosx

Compatibility patch for Tabbrowser Extensions: the default theme on Mac OS X
JavaScript
2
star
60

webmap

Web Map, a experimental UI to explorer the Web as a 2D map.
JavaScript
2
star
61

backtoowner

Backs to the owner tab, if there is no history to back.
JavaScript
2
star
62

stackstyletabs

Stack Style Tabs, Hide the tab bar and show it automatically only when you press "Ctrl" or "Command" key.
JavaScript
2
star
63

textshadow

Text Shadow, Provides text-shadow support for old Firefox.
JavaScript
2
star
64

webextensions-lib-rich-confirm

Common confirmation dialog library for Firefox addons based on WebExtensions
JavaScript
2
star
65

webextensions-lib-tab-favicon-helper

Helps to show favicon image from tabs.Tab
JavaScript
2
star
66

sidebar

Sidebar Window, makes the Sidebar undockable (shows as an independend window). And, panels become editable easily by drag and drop. This project was migrated to a new project "Ez Sidebar" ( http://github.com/piroor/ezsidebar ).
JavaScript
2
star
67

tabcatalog

Tab Catalog, Shows thumbnail-style catalog of tabs.
JavaScript
2
star
68

presentation-vanilla-js-library-topics

A presentation for https://nextbeat.connpass.com/event/312789/
Ruby
1
star
69

tst-auto-sticky-tabs

Provides ability to stick some state tabs to tab bar edges automatically, for Tree Style Tab.
JavaScript
1
star
70

tst-active-tab-in-collapsed-tree

Provides UI to show last active tab in a collapsed tree.
JavaScript
1
star
71

bfthumbnail

Back/Forward Thumbnail, Provides thumbnail for tooltips on "Back" and "Forward" buttons.
JavaScript
1
star
72

foxkeh-svg-wallpaper-tool

JavaScript
1
star
73

tabextensions-tbx

Patch for Tabbrowser Extensions, to extend toolbars.
JavaScript
1
star
74

tabextensions

Tabbrowser Extensions for Firefox 1.5 or older versions.
JavaScript
1
star
75

tabextensions-contextmenu

The context menu module for Tabbrowsr Extensions.
JavaScript
1
star
76

tabextensions-focusprevselected

Tab focus control module for Tabbrowser Extensions.
JavaScript
1
star
77

undotab

Undo Tab Operations, Provides ability to undo any operations about tabs.
JavaScript
1
star
78

fxaddonlib-inherit

An alternative of "__proto__"
JavaScript
1
star
79

tabextensions-linkification

Compatibility patch for Tabbrowser Extensions with Linkification.
JavaScript
1
star
80

remove-duplicated-linebreaks-from-textarea

A Firefox addon to remove duplicated linebreaks from text area.
JavaScript
1
star
81

webextensions-lib-event-listener-manager

Simple event listener manager for modules in WebExtensions-based addons
JavaScript
1
star
82

gsuggest

A forked version of GSuggest.
JavaScript
1
star
83

auto-mark-as-stale-issues

GitHub action to set "stale" automatically for issues not responded too long term
Ruby
1
star
84

tabextensions-plastikfox

Compatibility patch for Tabbrowser Extensions: Plastikfox theme
JavaScript
1
star
85

tabextensions3

meta package for tabextensions 3, includes treestyletab, informationaltab, multipletab and viewsourceintab.
Shell
1
star
86

open-local-file

Provides ability to open local file.
JavaScript
1
star
87

fxaddonlib-prefs

Utility to operater preferences database for Firefox/Thunderbird addons
JavaScript
1
star
88

tabextensions-unread

Patch for Tabbrowser Extensions, to highlight unread tabs.
JavaScript
1
star
89

tabextensions-ctrlnum

Ctrl-[0-9] module for Tabbrowser Extensions.
JavaScript
1
star
90

historycounter

How Many Times Can I Back?, Couts up the number of histories in Back and Frward buttons.
JavaScript
1
star
91

mccoyplus

Provides command line operations for McCoy.
JavaScript
1
star
92

webextensions-lib-tab-id-fixer

Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1398272
JavaScript
1
star
93

rewindforward

Rewind/Fastforward Buttons, Adds "Rewind" and "Fastforward" buttons for the toolbar.
JavaScript
1
star
94

searchcache

A forked version of Searchcache.
JavaScript
1
star
95

observeclipboard

Clipboard Observer, Opens new tab or window automatically when you copy URLs into the clipboard.
JavaScript
1
star
96

promise-jsdeferred

JSDeferred Promise.jsm, or, Promise.jsm based JSDeferred. The original version of JSDeferred is: http://github.com/cho45/jsdeferred
JavaScript
1
star
97

contentholder

Content Holder, provides the "Content Holder", a browser pane to show another page simultaneously, for Mozilla and NS7.1. This project was migrated to new project "Fox Splitter" ( http://github.com/piroor/foxsplitter )
JavaScript
1
star
98

scrollbar-like-scroller

Provides scrollbar like behavior on the right edge of the viewport for Firefox on Android.
JavaScript
1
star