about summary refs log tree commit diff stats
path: root/doc/pydoc/ranger.applications.html
blob: 822ec41234bf73be9f9c0b14d7e2def830c1af98 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module ranger.applications</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="ranger.html"><font color="#ffffff">ranger</font></a>.applications</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/hut/work/ranger/ranger/applications.py">/home/hut/work/ranger/ranger/applications.py</a></font></td></tr></table>
    <p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
    
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="os.html">os</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="ranger.applications.html#Applications">Applications</a>
</font></dt></dl>
</dd>
</dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Applications">class <strong>Applications</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Applications-all"><strong>all</strong></a>(self)</dt><dd><tt>Returns&nbsp;a&nbsp;list&nbsp;with&nbsp;all&nbsp;application&nbsp;functions</tt></dd></dl>

<dl><dt><a name="Applications-get"><strong>get</strong></a>(self, app)</dt><dd><tt>Looks&nbsp;for&nbsp;an&nbsp;application,&nbsp;returns&nbsp;app_default&nbsp;if&nbsp;it&nbsp;doesn't&nbsp;exist</tt></dd></dl>

<dl><dt><a name="Applications-has"><strong>has</strong></a>(self, app)</dt><dd><tt>Returns&nbsp;whether&nbsp;an&nbsp;application&nbsp;is&nbsp;defined</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
    
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-run"><strong>run</strong></a>(*args, **kw)</dt><dd><tt>Run&nbsp;files&nbsp;with&nbsp;the&nbsp;specified&nbsp;parameters</tt></dd></dl>
 <dl><dt><a name="-spawn"><strong>spawn</strong></a>(command, fm<font color="#909090">=None</font>, suspend<font color="#909090">=True</font>, wait<font color="#909090">=True</font>)</dt></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>ALLOWED_FLAGS</strong> = 'sdpSDP'<br>
<strong>null</strong> = &lt;_io.TextIOWrapper name='/dev/null' encoding='UTF-8'&gt;</td></tr></table>
</body></html>
pan class="mi">0): CSSComponentValue {.inline.} = return parser.cvals[parser.at + i] proc skipBlanks(parser: var MediaQueryParser) {.inline.} = while parser.has(): let cval = parser.peek() if cval of CSSToken and CSSToken(cval).tokenType == CSS_WHITESPACE_TOKEN: inc parser.at else: break proc getBoolFeature(feature: MediaFeatureType): MediaQuery = result = MediaQuery(t: CONDITION_FEATURE) case feature of FEATURE_GRID, FEATURE_HOVER, FEATURE_PREFERS_COLOR_SCHEME: result.feature = MediaFeature(t: feature, b: true) of FEATURE_COLOR: result.feature = MediaFeature(t: feature, color: 1..high(int)) template get_tok(tok: untyped) = if not (cval of CSSToken): return nil tok = CSSToken(cval) template get_idtok(tok: untyped) = get_tok(tok) if tok.tokenType != CSS_IDENT_TOKEN: return nil template expect_mq_int(b: bool, ifalse: int, itrue: int) = let cval = parser.consume() if not (cval of CSSToken): return nil let tok = CSSToken(cval) if tok.tokenType != CSS_NUMBER_TOKEN: return nil let i = int(tok.nvalue) if i == ifalse: b = false elif i == itrue: b = true else: return nil template expect_bool(b: bool, sfalse: string, strue: string) = let cval = parser.consume() if not (cval of CSSToken): return nil let tok = CSSToken(cval) if tok.tokenType != CSS_IDENT_TOKEN: return nil let s = tok.value case s of strue: b = true of sfalse: b = false else: return nil proc parseFeature(parser: var MediaQueryParser, feature: MediaFeatureType): MediaQuery = if not parser.has(): return getBoolFeature(feature) let cval = parser.consume() var tok: CSSToken get_tok(tok) if tok.tokenType != CSS_COLON_TOKEN: return nil parser.skipBlanks() case feature of FEATURE_GRID: var b: bool expect_mq_int(b, 0, 1) result = MediaQuery(t: CONDITION_FEATURE, feature: MediaFeature(t: feature, b: b)) of FEATURE_HOVER: var b: bool expect_bool(b, "none", "hover") result = MediaQuery(t: CONDITION_FEATURE, feature: MediaFeature(t: feature, b: b)) of FEATURE_PREFERS_COLOR_SCHEME: var b: bool expect_bool(b, "light", "dark") result = MediaQuery(t: CONDITION_FEATURE, feature: MediaFeature(t: feature, b: b)) else: return nil parser.skipBlanks() if parser.has(): return nil proc parseMediaCondition(parser: var MediaQueryParser, non = false, noor = false): MediaQuery proc parseMediaInParens(parser: var MediaQueryParser): MediaQuery = var fparser: MediaQueryParser block: let cval = parser.consume() if not (cval of CSSSimpleBlock): return nil let sb = CSSSimpleBlock(cval) if sb.token.tokenType != CSS_LPAREN_TOKEN: return nil fparser.cvals = sb.value fparser.skipBlanks() block: let cval = fparser.consume() var tok: CSSToken get_tok(tok) fparser.skipBlanks() if tok.tokenType == CSS_IDENT_TOKEN: let tokval = tok.value case tokval of "not": return fparser.parseMediaCondition(true) of "color": return fparser.parseFeature(FEATURE_COLOR) of "grid": return fparser.parseFeature(FEATURE_GRID) of "hover": return fparser.parseFeature(FEATURE_HOVER) of "prefers-color-scheme": return fparser.parseFeature(FEATURE_PREFERS_COLOR_SCHEME) else: discard return nil proc parseMediaOr(parser: var MediaQueryParser, left: MediaQuery): MediaQuery = let right = parser.parseMediaCondition() if right != nil: return MediaQuery(t: CONDITION_OR, ora: left, orb: right) return nil proc parseMediaAnd(parser: var MediaQueryParser, left: MediaQuery): MediaQuery = let right = parser.parseMediaCondition() if right != nil: return MediaQuery(t: CONDITION_AND, anda: left, andb: right) return nil proc parseMediaCondition(parser: var MediaQueryParser, non = false, noor = false): MediaQuery = var non = non if not non: let cval = parser.consume() if cval of CSSToken and CSSToken(cval).tokenType == CSS_IDENT_TOKEN: if CSSToken(cval).value == "not": non = true else: parser.reconsume() if not parser.has(): return nil result = parser.parseMediaInParens() if result == nil: return nil if non: result = MediaQuery(t: CONDITION_NOT, n: result) parser.skipBlanks() if not parser.has(): return result let cval = parser.consume() var tok: CSSToken get_idtok(tok) parser.skipBlanks() let tokval = tok.value case tokval of "and": return parser.parseMediaAnd(result) of "or": if noor: return nil return parser.parseMediaOr(result) else: discard proc parseMediaQuery(parser: var MediaQueryParser): MediaQuery = parser.skipBlanks() if not parser.has(): return nil var non = false block: let cval = parser.consume() if cval of CSSToken: let tok = CSSToken(cval) if tok.tokenType == CSS_IDENT_TOKEN: let tokval = tok.value case tokval of "not": non = true of "only": discard elif tokval in MediaTypes: result = MediaQuery(t: CONDITION_MEDIA, media: MediaTypes[tokval]) else: return nil else: return nil else: parser.reconsume() return parser.parseMediaCondition() parser.skipBlanks() if not parser.has(): return result block: let cval = parser.consume() if cval of CSSToken: let tok = CSSToken(cval) if tok.tokenType == CSS_IDENT_TOKEN: let tokval = tok.value if result == nil: if tokval in MediaTypes: let mq = MediaQuery(t: CONDITION_MEDIA, media: MediaTypes[tokval]) if non: result = MediaQuery(t: CONDITION_NOT, n: mq) else: result = mq else: return nil else: if tokval == "and": parser.reconsume() return parser.parseMediaAnd(result) else: return nil else: return nil else: parser.reconsume() return parser.parseMediaCondition(non) parser.skipBlanks() if not parser.has(): return result block: let cval = parser.consume() if cval of CSSToken: let tok = CSSToken(cval) if tok.tokenType == CSS_IDENT_TOKEN: let tokval = tok.value if tokval != "and": return nil else: return nil parser.skipBlanks() if not parser.has(): return nil parser.reconsume() return parser.parseMediaAnd(result) proc parseMediaQueryList*(cvals: seq[CSSComponentValue]): MediaQueryList = let cseplist = cvals.parseCommaSeparatedListOfComponentValues() for list in cseplist: var parser: MediaQueryParser parser.cvals = list let query = parser.parseMediaQuery() if query != nil: result.add(query)