~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

Make msgeditor invocation comply with Debian Policy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
                           IllegalPath,
40
40
                           )
41
41
from bzrlib.trace import mutter
42
 
import bzrlib.win32console
43
42
 
44
43
 
45
44
def make_readonly(filename):
668
667
 
669
668
def terminal_width():
670
669
    """Return estimated terminal width."""
671
 
    if sys.platform == 'win32':
672
 
        import bzrlib.win32console
673
 
        return bzrlib.win32console.get_console_size()[0]
674
 
    width = 0
 
670
 
 
671
    # TODO: Do something smart on Windows?
 
672
 
 
673
    # TODO: Is there anything that gets a better update when the window
 
674
    # is resized while the program is running? We could use the Python termcap
 
675
    # library.
675
676
    try:
676
 
        import struct, fcntl, termios
677
 
        s = struct.pack('HHHH', 0, 0, 0, 0)
678
 
        x = fcntl.ioctl(1, termios.TIOCGWINSZ, s)
679
 
        width = struct.unpack('HHHH', x)[1]
680
 
    except IOError:
681
 
        pass
682
 
    if width <= 0:
683
 
        try:
684
 
            width = int(os.environ['COLUMNS'])
685
 
        except:
686
 
            pass
687
 
    if width <= 0:
688
 
        width = 80
689
 
 
690
 
    return width
 
677
        return int(os.environ['COLUMNS'])
 
678
    except (IndexError, KeyError, ValueError):
 
679
        return 80
691
680
 
692
681
def supports_executable():
693
682
    return sys.platform != "win32"