Graphical keyboard-driven applications

It appears to me that there are only two types of applications one can choose from: command line applications (either mimicking graphical user interfaces with curses or with a pure text interface) or GUI applications with the typical widgets: menus, bars, buttons and so on. In many GUI applications the keyboard support is tantamount to providing a few shortcuts to menu items. This is why I often prefer programs that were designed for the command line.
Being a fan of neat font-rendering and typography, though, I dislike being forced to make a decision: either it is { non-proportional fonts + proper typography } OR { keyboard-driven interface + usability }.
I dislike using mutt for email, because I cannot stand looking at terminus / envy code r / inconsolata (you name it) when reading long paragraphs. A graphical email client, on the other hand side, typically reduces the reading pane, because of all the information it wants to put in plain sight of the user: menus, directories, this'n'that.
Do you know of applications that attempt to combine the benefits of both worlds? Like an email client with a modal keyboard-driven interface, showing only the text of the currently selected email in a user-specified font? With its settings tucked away in a configuration file? Without menus and the typical GUI-clutter?
I don't want to reinvent the tricycle (again and for no reason).
Is there anyone else who feels the same and would like to see something like this being developed? (The answer to this question might motivate me enough to actually work on something like this.)
Anyways, I'm looking forward to your input.

tvale wrote:I suppose it would be neat to develop a full suite of applications.
Yes, that'd be lovely.
What I would wish to escape from is the console font in keyboard-driven interfaces. Does an application running in a graphical environment really need to use these ASCII-artsy dashes instead of, well, simple lines? I see that this makes sense on a pure ASCII terminal, but this abuse of special characters to mimic user interface separators is what makes these keyboard-driven interfaces look more geeky or nostalgic than they need to be (or rather: than I would wish them to be).
Example:
the "-- INSERT --" indicator or the progress bar in vimperator/pterodactyl; I don't enjoy working with vim because of its looks; copying the terminal-look when the actual goal is to re-implement the modal interface seems to be beside the point.
These thoughts lay dormant in the back of my head until I (again) watched the ad for Enso (http://www.humanized.com/). I always wanted to control my computer via some kind of universal command line interface (like an advanced dmenu). The actual text interface could be implemented there; compliant software would simply expose a socket to write to (similar to how the uzbl core works).
A program would thus be reduced to offering controllers and views; the interface could be implemented externally or internally as the traditional array of widgets (menu bars, status bars, you name it...).
Wouldn't that be ... unixy in some sense?
(NOTE: I'm only dreaming. Feel free to either join me or wake me up.)
EDIT: replace the concept of sockets with dbus and this might actually work. Will have to play a little with dbus to see if I can inch my way towards realization of this idea.
Last edited by rekado (2011-04-24 02:49:01)

Similar Messages

  • A good keyboard driven file manager with thumbnails?

    Does anybody know a good keyboard driven file manager with thumbnails? I've been looking for one but the only keyboard driven file managers I can find uses cli.

    Ranger is very good and there is a hack to add image previews: http://github.com/dbarnett/ranger/commits/master

  • Export graphic with the application

    I notice on some sample application I have installed, it say do you want to install support objects or something to that affect.
    How can I attach the graphic to the application export so that when I install it somewhere else I don't have to do it seporatly.

    Doug,
    If the images are in the Shared Components > Images and specified for that application, then you can create a export file by going to Home > Application Builder > Application XXX > Export/Import > Export > Images (tab). You can then add that file to your Supporting Objects Installation Scripts. Then when you export the application, that install script will be included.
    Regards,
    Dan
    http://danielmcghan.us
    http://sourceforge.net/projects/tapigen

  • Missing IMethodRule in Test Driven Application

    Hi All,
                  I am working on a test driven application in Flash Builder 4. I am getting 1046: Type was not found or was not a compile-time constant: [org.flexunit.rules]::IMethodRule. error when I compile the application.
    I am using :
    Flash Builder 4 Premium Eclipse Plugin
    Latest Flex SDK 4.5.1.21328
    Please suggest if I am doing anything wrong.

    As the saying goes, you can lead a horse to water but you cannot make it drink.
    This is a principle I've found in many development teams. Especially "established" ones that have been working together for at least a year or so.
    To suddenly introduce new practices and new standards... does not work. The bigger/more drastic or different the change, the more painful it is to implement properly.
    So if the developers in the team are not committed to a TDD approach (in PL/SQL or whatever language used), and it is something new and different as far as the practices of that team goes... you may well ask yourself whether it is worth trying to enforce it. I've personally seen a whole dev team (and one of the better ones I've worked with) all resign in a period of 12 months due to being forced down a software development environment and cycle they simply did not accept.
    So whatever approach you choose, you need to make sure that you have the full and complete buy-in of every single developer on that team, and the commitment to follow that approach. At the same time, you need to make the transition for them as painless as possible, and provide the checks and reviews to make sure that this approach is consistently followed until it becomes the SOP for the team members.
    And no amount of fancy TOAD or this or that framework, will address this human accept and make TDD work.

  • Graphic/ GPU Intensive Applications on Macbook Air?

    Hey all
    Im planning to get a MacBook for my GCSE's, and im leaning towards the air.
    I will be running applications such as Adobe Photoshop CS5, After Effects CS5, Lightroom CS5, and Final Cut Express regularly, so would a 13" 1.86ghz MBA C2D Processor with 4gb of RAM be able to run these apps fast and efficiently with no lag? Or should I opt for the baseline MBP 13"? Im also looking for portability, as im going to be taking it into school
    Thanks

    The MacBook Air is an excellent notebook. I would recommend the maximum configuration that you can afford.
    I have a 13 inch 2.13 GHz C2D, 4 GB RAM with 256 GB SSD and I can verify there is little difference in performance between it and and and i7 based MacBook Pro (with conventional hard drive). xBench score MBA this config = 183, base model = 120 and i7 MacBook Pro 172 (Processor and RAM based tests such as GeekBench are not particularly relevant when the major bottleneck for many applications is disk access time)
    The relative difference in real world use between the i7 based Pro and 2.13 GHz MBA is around 15 % based on combined testing across a range of software and processes.
    The combination of graphics card, SSD and processor is as important as the processor alone and overall makes a significant difference.
    For an informed opinion I would suggest you read the review at Macworld and look at their comparison benchmarks.
    Good luck with your decision, I am more than happy with mine

  • Keyboard-driven text-selection faulty

    G’day
    I thought I raised this before, but cannot find reference to it either here or in the bug tracker.  Sorry if I’m repeating myself.
    Often I’ll find myself towards the end of a line of code, and wanting to select everything back to an earlier point (to lowercase it, or whatever).  I do this by pressing CTRL-SHIFT-LEFT_ARROW, holding my finger down as it selects word-by-word back to where I want selected (if that makes sense).
    What I’m finding is that fairly often CFB will actually cancel what I have selected, and start selecting again from the current cursor position.  So I’ll only end up with the second half of what I was intending to highlight actually selected.
    Initially I put this down to a flaky keyboard, but I’ve now experienced it on three computers, and also I don’t have it happening in any other application.  So it’s fairly certain it’s a bug in CFB.
    Another twist on this is that I have just noticed that I am also getting it when using CTRL-SHIFT-UP_ARROW to select blocks of text vertically.
    It’s a minor thing, but it’s pretty annoying.
    Anyone else notice this?
    Adam

    Amy~ Yep the lasso tool was what I verified with another user. 'L' seems to be bound indefinitely to loop through different types of lasso tools and it was annoying them because they just wanted L to be the regular freehand lasso. I removed 'L' from being an option on the polygon lasso and even set it explicitly to SHIFT+L as well as set the lasso tool to a completely different keyboard combo. 'L' still cycled through lassos haha. It needs some fixes.
    fertolg~ At least you have a workaround for now. I'd go nuts if I couldn't use keyboard text selection writing code, oy! You're welcome and if you're all set please mark correct so we can filter unanswered. Good luck!

  • Display graphics using BSP Application

    Hi,
    I want to create a BSP application that displays a graphic on screen.
    I know how to do it using a smartfrom ,but is there any other way to display a graphic from SAP.
    We have stored Signatures of some users on SAP.
    When I enter a SignID of a user ,BSP Application should display signature on Portal screen.Is it possible.Please Advice.
    Thanks in Advance.
    Venkat

    BSP applications showing standart sap screens in netweawer.
    You can use Picture control for screen and select the mime object in system and show user in container.
    there is sample. I hope so the help.
    REPID = SY-REPID.
      CREATE OBJECT PICTURE_CONTROL_1
        EXPORTING
          PARENT = DOCKING.
      CHECK SY-SUBRC = 0.
      CALL METHOD PICTURE_CONTROL_1->SET_3D_BORDER
        EXPORTING
          BORDER = 5.
      CALL METHOD PICTURE_CONTROL_1->SET_DISPLAY_MODE
        EXPORTING
          DISPLAY_MODE = CL_GUI_PICTURE=>DISPLAY_MODE_STRETCH.
      CALL METHOD PICTURE_CONTROL_1->SET_POSITION
        EXPORTING
          HEIGHT = 40
          LEFT   = 5
          TOP    = 170
          WIDTH  = 90.
      IF URL IS INITIAL.
        DATA:
         qaktar TYPE  ZW3QUERY .
        REFRESH QUERY_TABLE.
    "SELECT * FROM ZUSER  FROM MIME OBJECT.
        qaktar-NAME  = '_OBJECT_ID'.
        qaktar-VALUE = 'YOUR MIME OBJECT'.
      "  APPEND QUERY_TABLE.
        APPEND qaktar TO QUERY_TABLE.
        CALL FUNCTION 'WWW_GET_MIME_OBJECT'
          TABLES
            QUERY_STRING        = QUERY_TABLE
            HTML                = HTML_TABLE
            MIME                = PIC_DATA
          CHANGING
            RETURN_CODE         = RETURN_CODE
            CONTENT_TYPE        = CONTENT_TYPE
            CONTENT_LENGTH      = CONTENT_LENGTH
          EXCEPTIONS
            OBJECT_NOT_FOUND    = 1
            PARAMETER_NOT_FOUND = 2
            OTHERS              = 3.
        CALL FUNCTION 'DP_CREATE_URL'
          EXPORTING
            TYPE     = 'image'
            SUBTYPE  = CNDP_SAP_TAB_UNKNOWN
            SIZE     = PIC_SIZE
            LIFETIME = CNDP_LIFETIME_TRANSACTION
          TABLES
            DATA     = PIC_DATA
          CHANGING
            URL      = URL
          EXCEPTIONS
            OTHERS   = 1.
      ENDIF.
      CALL METHOD
        PICTURE_CONTROL_1->LOAD_PICTURE_FROM_URL
        EXPORTING
          URL = URL.

  • Keyboard Testing application?

    Well, again I am wondering something
    which I haven't got while searching it on Google SE.
    Is it possible to
    have a program (application)
    which could be used to detect whether the KEYBOARD
    is defective or not?
    I mean if we just want to test keyboard without pressing the button,
    is there any algorithm could be involved?
    thanks i'm still having no respond yet. :)
    ...

    oh yes, sorry for my broken english words.
    Of course we know already there's lots of buttons from a single of keyboard.
    (through letter 'a' until 'z' then 'F1' until 'F12' and etc).
    But then what came into my mind is...
    This question
    "Is keyboard capable of receiving signal from the other device?"
    I am wondering if yes keyboard capable of receiving signal,
    should it be for all of the buttons instead of the 3 lights (numlock, capslock, scroll Lock) only?
    We could see the light (numlock) turned on when the computer boot-up (turned on),
    means it could receive signals.
    And then... how about the rest of the keyboard's buttons?
    Were they capable of receiving signal as well?
    So then, ...
    i'm confused, jschell.
    Don't u get my aims, jschell?

  • Reply  immediatelt !!!!!!!!! implement Graphics Class in application Progra

    Dear Sir,
    How to implement Graphics Class in an Constructor in an Application Program.
    for Example
    In Applet
    public void init(){
    Graphics g;
    Dimension d;
    Font f;
    FontMetrics fm;
    g = getGraphics();
    d = size();
    f=new Font("Dialog",Font.PLAIN,12);     
    g. setFont(f);
    fm = g.getFontMetrics();
    standalone Application program
    Words(){
    Graphics g;
    Dimension d;
    Font f;
    FontMetrics fm;
    g = getGraphics();
    d = size();
    f=new Font("Dialog",Font.PLAIN,12);     
    g. setFont(f);
    fm = g.getFontMetrics();
    when we try to implement in an standlone Application program it gives
    Null Pointer Exception how to implement Grapics Class in an constructor of standlone Application program.

    I think this is an appropriate reply for this...

  • The noise / graphic card / pro applications

    I have several questions:
    Let' s start with those:
    - Is there any Noise with 500 GB hard disk ?
    - What are the applications which which i will not able to use any more with Mac pro?
    - is there anybody who order the graphic card: ATI Radeon X1900 XT 512MB (2 x dual-link DVI)? is it ideal for Final cut pro user and other Pro Applications?
    for now thanks alot for giving time to read and answer my questions
    I will switch from G5 dual 2,3Ghz.
    any help will be helpful

    i found this info.
    Since there are fewer fans, how does this affect the Mac Pro’s noise level? Is it loud?
    The Quad G5 used nine fans and a liquid cooling apparatus. The Mac Pro, on the other hand, has only four fans and no liquid cooling—that should give some indication of the amount of cooling needed. We didn’t notice any loud noise coming from Apple’s demo Mac Pro, and Apple told us that the fans’ dynamic range is very small, meaning you shouldn’t experience large fan-noise spikes as with the Power Mac G5.
    http://www.macworld.com/2006/08/firstlooks/macprofaq/index.php
    Did u get the disk from apple? or did you by it form 3rd P. ?

  • JavaFX for database driven applications? No Tree or Table components?

    Hi there,
    Most of the apps I do are database driven and require liberal use of tables and tree components. I see these are missing from JavaFX.
    So the questions I have are:
    Will they be introduced later?
    How does one create custom components for JavaFX?
    Are there any 3rd party components that offer this yet?
    thanks

    You can find an example of the Table component creation and usage on page:
    [http://jfx.wikia.com/wiki/SwingComponents|http://jfx.wikia.com/wiki/SwingComponents]

  • Building mysql database driven application using JSF

    hello
    i have to build a JSF application that uses a connection with a MySql database
    first the user fills in a booking form, then he clicks on the button submit to save his operation
    where should i place the code to connect with the database?
    i mean the following:
    DataSource ds=(DataSource) new InitialContext().lookup("java:comp/env/jdbc/DreamsBeachDB");
    Connection c= ds.getConnection();
    Statement st = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String req="insert into  ...";
    +int exec = st.executeUpdate(req);
    should it be in a method of the managed bean or in a ActionListener class?
    in the first case where is the controller of the MVC2 architecture?
    in the second case how can i retrieve the values of the managed bean?
    thank you for answering

    You should use a persistence framework like Hibernate or EJB 3.

  • Dynamic switching of keyboard during application

    All,
    I am looking for a solution which will enable the dynamically switching of the keyboard configuration. For example switching the Keyboard from English to Korean and then back to English.
    I am using Solaris 5.8 and have a TYPE 6 USB keyboard.

    All,
    I am looking for a solution which will enable the dynamically switching of the keyboard configuration. For example switching the Keyboard from English to Korean and then back to English.
    I am using Solaris 5.8 and have a TYPE 6 USB keyboard.

  • Need help writing modem driven application

    Not sure where to start but this is what I would like to do:
    Write a java program to listen on a modem. The program should perform some task when someone dails in and enters a number via the phone. In other words, I would like to call my computer and direct to perform a function based on the number entered. Can this be done?
    Please direct me where information can be found or where to start.
    Thanks,
    Ulises

    Ulises,
    I would not use a modem, I will get a DTMF chip (about $3.00) and connect it to the phone line. Connect the DTMF chip to a microcontroller (AVR $3, 8051, Stamp) and read the serial port thru javax.comm. You do need a cheap answering machine so the phone will pick-up.
    Sonny

  • How can I load bitmaps/vector graphics in my application using only actionscript 3.0?

    I want to have DisplayObject that will randomly contain bitmaps/vectors from some database. I want to implement this using only code. How?

    use the loader class:
    var loader:Loader=new Loader();
    loader.load(new URLRequest("image1.jpg"));
    addChild(loader);  // or, yourdisplayobject.addChild(loader)

Maybe you are looking for

  • How to delete string from an array

    I just want to know that what changes i can do to delete the string if contains any extra characters like digits and punctuation marks in the middle or begining of the string but not at the end of the string, i've already tried to delete only the pun

  • Photoshop CS6 looks pixelated on Mac Retina screen

    I have Photoshop CS6 running on a MacBook Pro with a 15" retina screen. By default it runs in low-resolution, which makes everything pixelated. When I right-click on the app and go to "Get Info" I see an option to "Open in Low Resolution". When I unc

  • ITunes won't install - Error 7

    I tried to install the new itunes version the other day on my ipod touch but got an Error 7 message followed by this: the procedure entry point kCMPyteStreamNotification_AvailableLengthChanged could not be located in the dynamic link library CoreMedi

  • Aging email

    My BB drops emails after they get to be older than 30 days. I have the retention option set at forever. Have even tried the 180 days option. How do I get the emails to stay past 30 days.

  • Exporting with alpha channel and edges are ragged

    I've got a short animation that is mainly a PSD of a map of NC with some animated push pins on it. I've got a local cable provider wanting an export of the animation with an alpha channel. He's using Premiere on a Mac, I'm on PC. No matter what codec