GithubHelp home page GithubHelp logo

keynav's People

Contributors

alexdaniel avatar aszlig avatar daboross avatar dkasak avatar fidian avatar jordansissel avatar kofish avatar lilydjwg avatar mgsloan avatar seletskiy avatar shouya avatar srgom avatar yjftsjthsd-g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

keynav's Issues

Two monitors click 1-5

Sometimes I thought that keynav works wrong and scrolling, clicking nums 1-3 don't work. But accidentally it start work. Long time I cant understand when it goes right and whet it's not. But I found the answer (may be not full):

I have two displays in my setup. When I start keynav grid on main display "click" action works well in right position of cursor. But if I started keynav on second display, it doesn't work. If I move grid with shift to the first screen and after try use "click" it will work correctly.

Hope it helps.

Manpage refers to old site(s)

The current manpage contains the following:

SEE ALSO
       Related: xdotool(1)

       Project site: <http://www.semicomplete.com/projects/keynav>

       Google Code: <http://semicomplete.googlecode.com/>

CONTACT
       Please send questions and comments to [email protected]. File bugs and feature requests at the following URL:

       <http://code.google.com/p/semicomplete/issues/list>

Minimally, Google Code is dead so that should be pointed to this repo. Need to check whether that mailing list still exists; probably best to suggest opening an issue on this repo.

Fix compiler warning: implicit declaration of asprintf

Currently, compiling on GNU/Linux systems throws, "keynav.c:376:9: warning: implicit declaration of function 'asprintf'". This does not break the build and does not appear on FreeBSD. It appears that asprintf is a GNU extension also implemented by some or all BSDs. There are two ways to resolve this: We can either 1. refactor the code to not use asprintf (it appears that its functionality can be replaced with calloc+sprintf), or 2. just say that we're using GNU extensions (this is done by one other keynav fork; see dradetsky@247d1a6)

Add targets for debug and release builds

Currently, the Makefile generates a binary that is not stripped and apparently has some level of debugging info present, but isn't built with -g or anything. There are commented-out flags for both adding more debugging info to the binary and for building with -O2, but none of them are active.
This issue is to add release and debug targets that will respectively build a stripped and optimized binary, or one with debugging explicitly supported. One possible method is discussed on this Stack Overflow post but it is unclear that this is portable or specific to GNU Make. Bonus points for being able to build a static release binary.

-Wall

Building with CFLAGS+=-Wall produces a full screen of warnings, mostly apparently unused variables. Each warning should be evaluated to determine (if possible) why the warning is happening, what the code in question is intended to do, and to fix the warning.

Automated testing

It would be quite nice if we could automatically test keynav, mostly so we can make changes and make sure something didn't break. This is a little annoying because it's an X11 program that has nearly no GUI:)

Rough plan:

  • run headless X server (xvfb?)
  • provide simulated keypresses
  • check the cursor position
  • use xev to listen for events like mouse clicks

Of course, once that's working someone will have to actually figure out what to test:)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.