Skip to content

brookmiles/pocket-irc

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Doc
 
 
 
 
 
 
 
 
 
 
BUGS

o WM6.5 the keyboard button disappears - phigan on #pocketpc - use hardware button to bring up home/taskmanager
o Can't Send/Receive files from storage card
o DCC not recognised in some formats, notice type maybe?
o Replace "[ ... ]" with "" in channel list
o Unlamify "Trying..." and other status messages

TODO

o Multiple codepage support
o Logging

o Per network/server? channel lists
o Take channel list out of session object
o Auto Reconnect on Disconnection
o Secondary/generated nick

o Resizeable user list
o Network server lists
o DNS lookup on server provided host info
o Make /list window headers sortable
o Show user list by default option
o Hold to scroll right/left through tabs
o Highlight tab arrow with highest notification colour

o Notify list
o Ignore list
o Channel mode window
o Top of window info bar on disconnect/kick/DCC
o Key combinations for navigating the interface, tabs
o Scroll dialogs into view when tabbing to controls off screen
o Tweak scroll behavior when SIP raised/lowered, try to maintain view
o Auto Rejoin on Kick
o DCC Progress meter
o Open/Run/Play files from DCC window

? Simply socket sink to a single callback with messages
? Auto-connect on run
? Single thread socket handling
? DLL Plugins
? Event scripts
? Configurable command menus
? Tray Notifications
? Audio/Vibration notifications?
? Have TabStrip autosize itself instead of MainWindow doing so
? Double click nick to query
? General perform on connect script
? Per network join on connect and perform

x Server capability parsing
x Doesn't properly parse user mode flags like % and &, general problem of any non-EFNet server flag compatibility
x Channel list breaks on non-breaking spaces in nicknames !#%#@  (irc.visp.ru, #sarovnet, "Dr Geegle")
x User changes nick with query open can no longer talk to that user
x Make DCC List window landscape/square friendly
? drano - can't add favourite to channel (with key?)
x psyBNC compat, has usernames starting with -, ( and )
? psyBNC compat, joining channel with many users causes an error (no other details known)
x Remove duplicates when adding stuff to input combo box
x Enable green button at all times since you can always use it :/
x /server and /connect behaviour when already connected
x Channel List doesn't parse some channels correctly
x Remember channel list (per session)
x Landscape friendly Options dlg
x Landscape friendly Channels dlg
x Add List tab to Channels window and ability to join by typing in a new one
x Timestamps
x Allow querying nicks with ' in them?
x Support /commands
x Better Win32 error code reporting
x Popup menu on channel window too, not just tab
x Perform on connect / join channel / channel favourites
x Nick list menu
x Disable popup menus when disconnected
x DCC chat
x DCC file transfer
x URL hotlinks in display
x Popup menu for nicks and channels in display



XML MENU

<MENU NAME="Channel">
	<COMMAND NAME="Part">
		Part
	</COMMAND>
	<COMMAND NAME="Say">
		Say(InputBar.GetText());
 	</COMMAND>
	<COMMAND NAME="Topic">
		Topic(InputBar.GetText());
 	</COMMAND>
	<SUBMENU NAME="Modes">
		<COMMAND NAME="+s">	
			Mode("+s");
		</COMMAND>
		<COMMAND NAME="+s">	
			Mode("+s");
		</COMMAND>
	</SUBMENU>
</MENU>

<MENU NAME="Query">
	<COMMAND NAME="Close">
		Close
	</COMMAND>
	<COMMAND NAME="Say">
		Say(InputBar.GetText());
 	</COMMAND>
</MENU>



INCOMING EVENT

o Session gets parsed IRCEvent
o Session updates internal state based on
  NICK or MODE changes
  JOIN, PART, KICK events, remote QUITs
o Session optionally passes event to script engine
o If script engine indicates the message should not be processed further, break.
o Session handles PING replies, creates QUERY windows if required
o Event passed to output dispatcher for display on the screen

USER INPUT

o Parse command into IRCCommand object
o Pass IRCCommand to script engine
o If script engine indicates the command should not be processed further, break
o Build in or scripted handler builds an IRCEvent
o IRCEvent is passed to IRCSession
o Session passes Event to OutputDispatcher for display
o IRCSession passed IRCEvent to IRCWriter which formats the event for network transport
o Outgoing message is written to tranport


CHANNEL MODES

	O - give "channel creator" status;
    o - give/take channel operator privilege;
    v - give/take the voice privilege;

    a - toggle the anonymous channel flag;
    i - toggle the invite-only channel flag;
    m - toggle the moderated channel;
    n - toggle the no messages to channel from clients on the
        outside;
    q - toggle the quiet channel flag;
    p - toggle the private channel flag;
    s - toggle the secret channel flag;
    r - toggle the server reop channel flag;
    t - toggle the topic settable by channel operator only flag;

    k - set/remove the channel key (password);
    l - set/remove the user limit to channel;

    b - set/remove ban mask to keep users out;
    e - set/remove an exception mask to override a ban mask;
    I - set/remove an invitation mask to automatically override
        the invite-only flag;

MENU COMMANDS

- Global Commands
	JOIN (input)
	QUIT (input)
	QUERY (input)
	WHOIS (input)
	CTCP (input)
	NICK (input)
	MODE (self) (input)
	RAW (input)
	DCC
		SEND (input)
		XMIT (input)
		CHAT (input)

- Channel
	SAY (channel) (input)
	ACT (channel) (input)
	NOTICE (channel) (input)
	CTCP (channel) (input)
	PART (channel)
	MODE (channel) (*input)
	INVITE (channel) (input)
	User
		VOICE (channel) (input)
		DEVOICE (channel) (input)
		OP (channel) (input)
		DEOP (channel) (input)
		KICK (channel) (input)
		BAN (channel) (input)
		KICK/BAN (channel) (input)

- Channel User
	VOICE (channel) (user)
	DEVOICE (channel) (user)
	OP (channel) (user)
	DEOP (channel) (user)
	KICK (channel) (user) (*input)
	BAN (channel) (user)
	KICK/BAN (channel) (user) (*input)
	User
		MSG (user) (input)
		NOTICE (user) (input)
		CTCP (user) (input)
		QUERY (user)


- Query
	Say(user, input);
	Act(user, input);
	Notice(user, input);
	CTCP(user, input);
	Whois(user);
	OpenQuer(user);
	CloseQuery(user);
	Invite(input, user);

	DCC
		DCCSend(user);
		DCCChat(user);
		DCCXmit(user);

IMenuProvider:
	DoMenu(MENU_TYPE_X, POINT pt, channel, user, input);

About

An IRC client for Windows Pocket PCs (cira 2000)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages