Giter Site home page Giter Site logo

iridium's Introduction

A version of xmonad which abstracts away X11 and is written in and configured by Idris, rather than Haskell.

iridium's People

Contributors

puffnfresh avatar sleepynate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iridium's Issues

Using Iridium

I think this is a really awesome project, however, after building with idris --build iridium-quartz.ipkgand running with ./iridium, how do I use iridium? What are the default keybindings (are there any)? Thanks.

Try to hide title bars

We might be able to use HIWindowChangeAttributes to set kHIWindowBitNoTitleBar so that no title bars are shown. We'd need a WindowRef which I think we can get from HIWindowFromCGWindowID.

Segfault when quartzWindows calls CFBooleanGetValue

I sometimes randomly get a segfault in quartzWindows():

#0  0x00007fff8fe6ce40 in CFBooleanGetValue ()
   from /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
#1  0x00000001000032e9 in quartzWindows ()
#2  0x000000010001560f in _idris__123_APPLY0_125_ ()
#3  0x0000000100021753 in _idris_io_95_bind ()
#4  0x0000000100021753 in _idris_io_95_bind ()
#5  0x0000000100021753 in _idris_io_95_bind ()
#6  0x000000010004b242 in _idris__123_runMain0_125_ ()
#7  0x0000000100054bf9 in main ()

There's only two calls to CFBooleanGetValue(..) in quartzWindows(), so it must be something to do with them:

    CFBooleanRef frontMostRef;
    AXUIElementCopyAttributeValue(axElementRef, kAXFrontmostAttribute, (const void **)&frontMostRef);

    NSArray *windowRefs = CFBridgingRelease(windowsArrayRef);
    for (NSUInteger index = 0; index < windowRefs.count; ++index) {
      AXUIElementRef windowRef = (__bridge AXUIElementRef)windowRefs[index];

      CFTypeRef subroleRef;
      AXUIElementCopyAttributeValue(windowRef, kAXSubroleAttribute, &subroleRef);
      NSString *subrole = CFBridgingRelease(subroleRef);

      CGWindowID wid;
      _AXUIElementGetWindow(windowRef, &wid);

      CFBooleanRef mainRef;
      AXUIElementCopyAttributeValue(windowRef, kAXMainAttribute, (const void **)&mainRef);

      /*
       * segfault must be happening here
       */
      if (CFBooleanGetValue(frontMostRef) && CFBooleanGetValue(mainRef)) {
        windows->focused = wid;
      }

      if ([subrole isEqualToString:(__bridge NSString *)kAXStandardWindowSubrole]) {
        if (windows->length < QUARTZ_WINDOWS_LENGTH) {
          windows->wids[windows->length] = wid;
          windows->length++;
        }
      }
    }

Indefinite switching between apps in different spaces

Effect: Indefinite switching between the two spaces/apps
I've found each of these methods seem to stop it:

  • Switch to an app that isn't confined to any particular space (always seems to work)
  • Keep trying to switch to one of the two apps (need to time it right)
  • Switch layouts a few times (seems to stop when switching to full screen layout)

To replicate the switching:

  • Space 1: Firefox
  • Space 2: Sublime Text
  • Focus Firefox
  • Cmd+Tab to switch to Sublime Text

Somehow keyboard layout is not respected

I am currently using Dvorak.
To use the keyboard shortcuts involving J & K I have to instead use H & T.

Testing master as of commit 2dc4384
System: OS X 10.9.3
Both user and system keyboard layouts have been defaulted to Dvorak.

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.