User Interface Design LinksThese are links about user interface design in general.
- I've found Joel Spolsky's User Interface Design for Programmers [1] to be very useful. The site includes text from his book of the same title.
- The User Interface Hall of Shame [2]. (The site itself is no longer active - this is an archived copy.) (Another archived copy with (some) images : [3] )
- The third edition of About Face by Cooper et al.[4]
Making Clean CodeThis isn't about interface design per se. It's about what's under the hood. But since what's under the hood supports what's on top, I think these links are appropriate.
- Tk coding styles and philosophies
- writing readable, manageable, reusable Tk
- Design patterns in Tcl
- Actions
GUI and Tk General Information
- GUI
- Geometry Managers
- GUI Building Tools
- How Tk compares to other GUI toolkits
- Making Tk apps look native
- Good Looking Tk
- Creating Good GUIs
- Data Driven Tk GUI Construction
- Porting a Tk GUI to A Web Browser
GUI ElementsGeneral collectionsSpecific widgets and other GUI elements
- Balloon help: balloon help, tkballoon
- Dialogs: dialog
- Buttons: Fancy Tk Buttons, ICON
- Floating palettes: Floating Palette (Using detachable menus is another option -- similar functionality but less slick)
- Grippers/Resizers: Resize control, widget:resizeHandle
- custom cursors
- megawidgets
- Making Shaped windows (that is, shapes other than rectangles); also see Managed and shaped toplevel
- Fonts: Introduction to Fonts
- Paned windows: Paning widgets, paned window
- Progress bars: Progress Bar (Fellows), poor man's progressbar
- Working with the system tray
- Tabbed notebooks: tabnotebook
- Table widget: Tktable, Tablelist
- Tree view: TkTreeCtrl
- Wizard
Making a Smoother User Experience
- Binding to a single mouse click
- Changing all fonts in an application
- AtExit handlers
- Drag and Drop
- Detecting Dual or Multiple Monitors
- Tips for the text widget: Home, End and other formatting problems, Move cursor by display line in a text widget
- Tips for the canvas widget: Restricting the Movement of Canvas Items, scanvas
- Inter-Process Communication: Inventory of IPC methods
- Keep a GUI alive during a long calculation
- Scroll bars that appear only when needed
- They aren't wide enough (about how to figure out how wide a button or label needs to be)
Wrapping Tk Around an Existing GUI
- For Unix/Linux: How to embed a non-Tk GUI into a Tk frame
- For Windows: Combining GUI applications developed with Tk and 'native' Windows toolkits
Internationalization and Encoding
Options for Windows Applications
- Microsoft Windows and Tk
- Combining GUI applications developed with Tk and 'native' Windows toolkits
- Windows Application Framework
- Using MFC Controls as Tk widgets
Options for MacOS
- MacWindowStyle for OS X
Options for *nixSo far this is the only one I've spotted that's *nix-specific. I suspect two reasons for this: *nix separates the OS from the windowing environment, and Tcl/Tk started in a *nix environment. As a result, there are going to be few *nix-specific recommendations.LV It seems, to me, that even with Tile going into the core, there continues to be comments concerning the default look of applications on Linux and other *nix based systems being less attractive than on other systems. Has anyone taken a look at the Tango project and other such projects?
Footnote With the earlier version of this page, I'd bitten off more than I could chew. I had also duplicated a lot of existing work. I hope this version will be more useful.
Category GUI
