about summary refs log tree commit diff stats
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/apps.rb45
-rw-r--r--data/types.rb19
2 files changed, 51 insertions, 13 deletions
diff --git a/data/apps.rb b/data/apps.rb
index 9c300f56..18856262 100644
--- a/data/apps.rb
+++ b/data/apps.rb
@@ -1,4 +1,42 @@
+## This file defines programs, and HOW those
+## programs are run.
+##
+## Look at the definition of "totem" for a
+## fully documented example.
+
+
 module Application
+
+	## def totem(files) starts the definition of totem
+	def totem(files)
+		## this is the `case' statement.
+		## it looks up the mode and does different
+		## things depending on the mode.
+		case files.mode
+
+		## if the mode is 0 (default)
+		when 0
+			## start totem in fullscreen
+			"totem --fullscreen #{files}"
+
+		## if the mode is 1
+		when 1
+			## start totem normally
+			"totem #{files}"
+		end
+
+		## the mode is a number which you type in
+		## between two r's. for example, press:
+		## r1r
+		## to run the file in mode 1.
+		## there are shortcuts: the key l runs in mode 0,
+		## and L in mode 1.
+
+		## the variable `files' is of a type RunContext,
+		## see ranger/code/runcontext.rb for details.
+	end
+
+
 	def aunpack(files)
 		case files.mode
 		when 0; "aunpack #{files}"
@@ -10,13 +48,6 @@ module Application
 		"gedit #{files}"
 	end
 
-	def totem(files)
-		case files.mode
-		when 0; "totem --fullscreen #{files}"
-		when 1; "totem #{files}"
-		end
-	end
-
 	def mplayer(files)
 		case files.mode
 		when 0; "mplayer -fs -sid 0 #{files}"
diff --git a/data/types.rb b/data/types.rb
index f1e3d24e..97648ec0 100644
--- a/data/types.rb
+++ b/data/types.rb
@@ -1,3 +1,10 @@
+## This file specifies WHAT program is run,
+## depending on the file.
+##
+## as soon as a "use.myprogram" is reached,
+## this programm will be used an the function
+## is finished.
+
 class Directory::Entry
 	def get_handler
 		## directories or sockets don't have any handler
@@ -28,7 +35,7 @@ class Directory::Entry
 		when /^image/
 			use.feh
 
-		when /^(text|application)\/x-(#{INTERPRETED_LANGUAGES.join('|')})$/
+		when /^(text|application)\/x-(#{INTR})$/
 			use.interpreted_language
 
 		when 'text/x-java'
@@ -53,14 +60,14 @@ class Directory::Entry
 
 
 		## is it executable?
-		if executable?
-			use.vi_or_run
-		end
+		use.vi_or_run if executable?
 
-		## otherwise use vi
+		## if there is nothing found, use a default application,
+		## for example a text- or hex-editor.
 		use.vi
 	end
 
-	INTERPRETED_LANGUAGES = %w[haskell perl python ruby sh]
+	## interpreted languages
+	INTR = %w[haskell perl python ruby sh].join('|')
 end