UnixDesktop.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 22 Sep 2015 16:28:42 +0100
branchjv
changeset 18759 c1217211909c
parent 18011 deb0c3355881
child 23107 40173e082cbc
permissions -rw-r--r--
Changed identification strings to contain jv-branch ...to make explicit that this distribution is not the official one used by eXept and therefore that eXept is not to be blamed in case of any problem.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13397
179d81ff115b initial checkin
vrany
parents:
diff changeset
     1
"
179d81ff115b initial checkin
vrany
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
179d81ff115b initial checkin
vrany
parents:
diff changeset
     3
              All Rights Reserved
179d81ff115b initial checkin
vrany
parents:
diff changeset
     4
179d81ff115b initial checkin
vrany
parents:
diff changeset
     5
 This software is furnished under a license and may be used
179d81ff115b initial checkin
vrany
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
179d81ff115b initial checkin
vrany
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
179d81ff115b initial checkin
vrany
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
179d81ff115b initial checkin
vrany
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
179d81ff115b initial checkin
vrany
parents:
diff changeset
    10
 hereby transferred.
179d81ff115b initial checkin
vrany
parents:
diff changeset
    11
"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    13
179d81ff115b initial checkin
vrany
parents:
diff changeset
    14
AbstractDesktop subclass:#UnixDesktop
179d81ff115b initial checkin
vrany
parents:
diff changeset
    15
	instanceVariableNames:''
179d81ff115b initial checkin
vrany
parents:
diff changeset
    16
	classVariableNames:''
179d81ff115b initial checkin
vrany
parents:
diff changeset
    17
	poolDictionaries:''
179d81ff115b initial checkin
vrany
parents:
diff changeset
    18
	category:'System-Desktop'
179d81ff115b initial checkin
vrany
parents:
diff changeset
    19
!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    20
179d81ff115b initial checkin
vrany
parents:
diff changeset
    21
!UnixDesktop class methodsFor:'documentation'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    22
179d81ff115b initial checkin
vrany
parents:
diff changeset
    23
copyright
179d81ff115b initial checkin
vrany
parents:
diff changeset
    24
"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    25
 COPYRIGHT (c) 2006 by eXept Software AG
179d81ff115b initial checkin
vrany
parents:
diff changeset
    26
              All Rights Reserved
179d81ff115b initial checkin
vrany
parents:
diff changeset
    27
179d81ff115b initial checkin
vrany
parents:
diff changeset
    28
 This software is furnished under a license and may be used
179d81ff115b initial checkin
vrany
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
179d81ff115b initial checkin
vrany
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
179d81ff115b initial checkin
vrany
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
179d81ff115b initial checkin
vrany
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
179d81ff115b initial checkin
vrany
parents:
diff changeset
    33
 hereby transferred.
179d81ff115b initial checkin
vrany
parents:
diff changeset
    34
"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    35
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    36
179d81ff115b initial checkin
vrany
parents:
diff changeset
    37
!UnixDesktop class methodsFor:'accessing'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    38
179d81ff115b initial checkin
vrany
parents:
diff changeset
    39
priority
179d81ff115b initial checkin
vrany
parents:
diff changeset
    40
179d81ff115b initial checkin
vrany
parents:
diff changeset
    41
    ^1
179d81ff115b initial checkin
vrany
parents:
diff changeset
    42
179d81ff115b initial checkin
vrany
parents:
diff changeset
    43
    "Modified: / 11-08-2009 / 16:40:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    44
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    45
179d81ff115b initial checkin
vrany
parents:
diff changeset
    46
!UnixDesktop class methodsFor:'accessing - defaults'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    47
179d81ff115b initial checkin
vrany
parents:
diff changeset
    48
defaultEditorCommand
179d81ff115b initial checkin
vrany
parents:
diff changeset
    49
    ^ (OperatingSystem getEnvironment: 'VISUAL') 
179d81ff115b initial checkin
vrany
parents:
diff changeset
    50
        ifNil: [ (OperatingSystem getEnvironment: 'EDITOR') ]
179d81ff115b initial checkin
vrany
parents:
diff changeset
    51
179d81ff115b initial checkin
vrany
parents:
diff changeset
    52
    "Created: / 11-08-2009 / 16:53:52 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    53
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    54
179d81ff115b initial checkin
vrany
parents:
diff changeset
    55
!UnixDesktop class methodsFor:'testing'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    56
179d81ff115b initial checkin
vrany
parents:
diff changeset
    57
isAvailable
179d81ff115b initial checkin
vrany
parents:
diff changeset
    58
179d81ff115b initial checkin
vrany
parents:
diff changeset
    59
    ^OperatingSystem isUNIXlike
179d81ff115b initial checkin
vrany
parents:
diff changeset
    60
179d81ff115b initial checkin
vrany
parents:
diff changeset
    61
    "Modified: / 11-08-2009 / 16:40:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    62
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    63
179d81ff115b initial checkin
vrany
parents:
diff changeset
    64
!UnixDesktop methodsFor:'accessing - commands'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    65
179d81ff115b initial checkin
vrany
parents:
diff changeset
    66
editorCommand
179d81ff115b initial checkin
vrany
parents:
diff changeset
    67
179d81ff115b initial checkin
vrany
parents:
diff changeset
    68
    ^UserPreferences current editorCommand 
179d81ff115b initial checkin
vrany
parents:
diff changeset
    69
        ifNil:[self class defaultEditorCommand]
179d81ff115b initial checkin
vrany
parents:
diff changeset
    70
179d81ff115b initial checkin
vrany
parents:
diff changeset
    71
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    72
        Desktop editorCommand
179d81ff115b initial checkin
vrany
parents:
diff changeset
    73
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    74
179d81ff115b initial checkin
vrany
parents:
diff changeset
    75
    "Created: / 11-08-2009 / 17:32:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    76
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    77
179d81ff115b initial checkin
vrany
parents:
diff changeset
    78
!UnixDesktop methodsFor:'operations'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    79
179d81ff115b initial checkin
vrany
parents:
diff changeset
    80
edit: filenames
179d81ff115b initial checkin
vrany
parents:
diff changeset
    81
179d81ff115b initial checkin
vrany
parents:
diff changeset
    82
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    83
        Opens desktop's preferred editor on given filenames.
179d81ff115b initial checkin
vrany
parents:
diff changeset
    84
179d81ff115b initial checkin
vrany
parents:
diff changeset
    85
        filenames - a String or Filename or collection of those.
179d81ff115b initial checkin
vrany
parents:
diff changeset
    86
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    87
179d81ff115b initial checkin
vrany
parents:
diff changeset
    88
    ^self execute: self editorCommand filenames: filenames
179d81ff115b initial checkin
vrany
parents:
diff changeset
    89
179d81ff115b initial checkin
vrany
parents:
diff changeset
    90
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    91
        Desktop edit: '/home/janfrog/.emacs'
179d81ff115b initial checkin
vrany
parents:
diff changeset
    92
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
    93
179d81ff115b initial checkin
vrany
parents:
diff changeset
    94
    "Created: / 11-08-2009 / 17:35:57 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
    95
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
    96
179d81ff115b initial checkin
vrany
parents:
diff changeset
    97
!UnixDesktop methodsFor:'operations - private'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
    98
179d81ff115b initial checkin
vrany
parents:
diff changeset
    99
execute: command filenames: filenames
179d81ff115b initial checkin
vrany
parents:
diff changeset
   100
179d81ff115b initial checkin
vrany
parents:
diff changeset
   101
    | filenamesAsStrings placeholders |
179d81ff115b initial checkin
vrany
parents:
diff changeset
   102
    filenamesAsStrings := (self toArrayOfFilenames: filenames) collect:[:f|f asString].
179d81ff115b initial checkin
vrany
parents:
diff changeset
   103
    placeholders := Dictionary new.
179d81ff115b initial checkin
vrany
parents:
diff changeset
   104
    placeholders 
179d81ff115b initial checkin
vrany
parents:
diff changeset
   105
        at: 'f' put: (filenamesAsStrings asStringWith: Character space);
179d81ff115b initial checkin
vrany
parents:
diff changeset
   106
        at: 'F'  put: filenamesAsStrings first.
179d81ff115b initial checkin
vrany
parents:
diff changeset
   107
179d81ff115b initial checkin
vrany
parents:
diff changeset
   108
    ^self execute: command placeholders: placeholders.
179d81ff115b initial checkin
vrany
parents:
diff changeset
   109
179d81ff115b initial checkin
vrany
parents:
diff changeset
   110
    "Created: / 11-08-2009 / 17:40:10 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
   111
!
179d81ff115b initial checkin
vrany
parents:
diff changeset
   112
179d81ff115b initial checkin
vrany
parents:
diff changeset
   113
execute: command placeholders: placeholders
179d81ff115b initial checkin
vrany
parents:
diff changeset
   114
179d81ff115b initial checkin
vrany
parents:
diff changeset
   115
    ^OperatingSystem 
179d81ff115b initial checkin
vrany
parents:
diff changeset
   116
        executeCommand:(command expandPlaceholdersWith: placeholders)
179d81ff115b initial checkin
vrany
parents:
diff changeset
   117
179d81ff115b initial checkin
vrany
parents:
diff changeset
   118
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
   119
        Desktop edit: '/home/janfrog/.emacs'
179d81ff115b initial checkin
vrany
parents:
diff changeset
   120
    "
179d81ff115b initial checkin
vrany
parents:
diff changeset
   121
179d81ff115b initial checkin
vrany
parents:
diff changeset
   122
    "Created: / 11-08-2009 / 17:41:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
179d81ff115b initial checkin
vrany
parents:
diff changeset
   123
! !
179d81ff115b initial checkin
vrany
parents:
diff changeset
   124
179d81ff115b initial checkin
vrany
parents:
diff changeset
   125
!UnixDesktop class methodsFor:'documentation'!
179d81ff115b initial checkin
vrany
parents:
diff changeset
   126
179d81ff115b initial checkin
vrany
parents:
diff changeset
   127
version_CVS
179d81ff115b initial checkin
vrany
parents:
diff changeset
   128
    ^ '$Header: /cvs/stx/stx/libbasic/UnixDesktop.st,v 1.1 2011-06-28 10:10:03 vrany Exp $'
179d81ff115b initial checkin
vrany
parents:
diff changeset
   129
!
179d81ff115b initial checkin
vrany
parents:
diff changeset
   130
179d81ff115b initial checkin
vrany
parents:
diff changeset
   131
version_SVN
179d81ff115b initial checkin
vrany
parents:
diff changeset
   132
    ^ ' Id: UnixDesktop.st 10517 2010-04-26 18:26:38Z vranyj1  '
179d81ff115b initial checkin
vrany
parents:
diff changeset
   133
! !