Sponsored Content
Top Forums Programming How to Find who is calling me? Post 62117 by Perderabo on Friday 11th of February 2005 11:38:54 AM
Old 02-11-2005
The OP doesn't want an address at all. Inside function1, he wants to do something and get either "function2" or "main" as the result, depending on which of those called him. This might mean obtaining the the returm address as an intermediate result and then scanning a symbol table, but the address is not the objective. This would only be doable if the program was compiled with symbolic debugging information included as for use with a symbolic debugger like gdb. I'm not going to try something that daunting for such a minor result.

If I really needed that, I would expand the argument list of the function1 module to contain a field called "caller". Then I use:
function1("main")
function1("function2")
as needed. function1 would refer to the first argument to find the caller.
 

10 More Discussions You Might Find Interesting

1. Cybersecurity

i am trying to find out who is calling me

they are having an operator call my home line and also my cell number and they are typing and the operator tells me what they are typing on their computer. i nevere heard of this. it is new to me. it is free the operator said, they knew my name and also a friend of mine's name...the phone says the... (2 Replies)
Discussion started by: gail
2 Replies

2. UNIX for Dummies Questions & Answers

vi calling template

Hello. I want to copy temp files when I make a new file by vi. For example, 09:32:52 ~/ $ mkdir test 09:33:03 ~/ $ cd test/ 09:33:09 ~/test/ $ ls 09:33:16 ~/test/ $ vi test.cpp 09:34:37 ~/test/ $ cat test.cpp #include <iostream> int main() { } 09:34:48 ~/test/ $ vi test.bash 09:35:19... (1 Reply)
Discussion started by: Euler04
1 Replies

3. UNIX for Dummies Questions & Answers

Calling alias

I have created a shortcut for the file kill_process.sh as shown below. alias kill_process="sh /root/kill_process.sh" It is working as per my expectations. But I have 2 questions. 1) Is there any better way? 2) How do I check what does kill_process link to? (1 Reply)
Discussion started by: shantanuo
1 Replies

4. Programming

calling Perl from C

Hi, I am trying to execute a perl script from c program. I tried using system command. system("perl test.pl filename") ; This perl program takes filename as input and prints a number to screen. I need to get that returned number in C program. system command is... (3 Replies)
Discussion started by: pkusumam
3 Replies

5. Shell Programming and Scripting

calling a file

Hi, How to call a file in shell script? I need to execute a file in shell script whether its possibel if it please give some example please help me (4 Replies)
Discussion started by: thelakbe
4 Replies

6. Homework & Coursework Questions

Shell script calling Perl function, sort and find data, write to new files

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I must write a shell script that calls two external Perl functions--one of which sorts the data in a file, and... (6 Replies)
Discussion started by: kowit010
6 Replies

7. Shell Programming and Scripting

How does calling it .sh help?

Hi. I have been running some scripts ok with no extension on the name, and they work fine. What difference does it make if I call them whatever.sh? And I have some scripts starting #!/bin/bash - which debian recognises as shell scritps, even without the .sh ending - and some which don't. I'm sure... (8 Replies)
Discussion started by: triplemaya
8 Replies

8. Shell Programming and Scripting

Calling a find/remove within a script

Greetings all, I am calling a remove from within a script that is used for a cleanup process.. It is not working as expected. Here is what I am doing. I have a config file that lists out a directory name, and the options to run Within the config file DIR1="find... (9 Replies)
Discussion started by: jeffs42885
9 Replies

9. Shell Programming and Scripting

find -exec How to add additional parameter when calling a funtion

Hello Current working script is : # # my_script BEGIN # function a_function { FIRST_PARAM="$1" DO_SOMETHING "$FIRST_PARAM" } export -f a_function START_HERE="/home/some_user/Documents" find $START_HERE" -exec bash -c 'a_function "$0" ' {} \; (5 Replies)
Discussion started by: jcdole
5 Replies

10. Shell Programming and Scripting

Calling specific characters from a find variable

I'm trying to do something like this: find . -name blablabla -exec ln -s ./"{:53:14} blablabla" \; The idea is find blablabla and create a symbolic link to it using part of it's path and then it's name, "blablabla." I just don't know if I can call characters out of a find variable. ... (16 Replies)
Discussion started by: scribling
16 Replies
xmonad(1)							   xmonad manual							 xmonad(1)

Name
       xmonad - a tiling window manager

Description
       xmonad  is  a minimalist tiling window manager for X, written in Haskell.  Windows are managed using automatic layout algorithms, which can
       be dynamically reconfigured.  At any time windows are arranged so as to maximize the use of screen real estate.	All features of the window
       manager	are  accessible  purely from the keyboard: a mouse is entirely optional.  xmonad is configured in Haskell, and custom layout algo-
       rithms may be implemented by the user in config files.  A principle of xmonad is predictability: the user should know in advance  precisely
       the window arrangement that will result from any action.

       By  default,  xmonad  provides three layout algorithms: tall, wide and fullscreen.  In tall or wide mode, windows are tiled and arranged to
       prevent overlap and maximize screen use.  Sets of windows are grouped together on virtual screens, and each screen retains its own  layout,
       which may be reconfigured dynamically.  Multiple physical monitors are supported via Xinerama, allowing simultaneous display of a number of
       screens.

       By utilizing the expressivity of a modern functional language with a rich static type system, xmonad provides a complete, featureful window
       manager	in  less  than	1200 lines of code, with an emphasis on correctness and robustness.  Internal properties of the window manager are
       checked using a combination of static guarantees provided by the type system, and type-based automated testing.	A benefit of this is  that
       the code is simple to understand, and easy to modify.

Usage
       xmonad  places  each  window  into a "workspace".  Each workspace can have any number of windows, which you can cycle though with mod-j and
       mod-k.  Windows are either displayed full screen, tiled horizontally, or tiled vertically.  You can toggle the layout mode with	mod-space,
       which will cycle through the available modes.

       You  can switch to workspace N with mod-N.  For example, to switch to workspace 5, you would press mod-5.  Similarly, you can move the cur-
       rent window to another workspace with mod-shift-N.

       When running with multiple monitors (Xinerama), each screen has exactly 1 workspace visible.  mod-{w,e,r} switch the focus between screens,
       while  shift-mod-{w,e,r}  move the current window to that screen.  When xmonad starts, workspace 1 is on screen 1, workspace 2 is on screen
       2, etc.	When switching workspaces to one that is already visible, the current and visible workspaces are swapped.

   Flags
       xmonad has several flags which you may pass to the executable.  These flags are:

       --recompile
	      Recompiles your configuration in ~/.xmonad/xmonad.hs

       --restart
	      Causes the currently running xmonad process to restart

       --replace
	      Replace the current window manager with xmonad

       --version
	      Display version of xmonad

       --verbose-version
	      Display detailed version of xmonad

   Default keyboard bindings
       mod-shift-return
	      Launch terminal

       mod-p  Launch dmenu

       mod-shift-p
	      Launch gmrun

       mod-shift-c
	      Close the focused window

       mod-space
	      Rotate through the available layout algorithms

       mod-shift-space
	      Reset the layouts on the current workspace to default

       mod-n  Resize viewed windows to the correct size

       mod-tab
	      Move focus to the next window

       mod-shift-tab
	      Move focus to the previous window

       mod-j  Move focus to the next window

       mod-k  Move focus to the previous window

       mod-m  Move focus to the master window

       mod-return
	      Swap the focused window and the master window

       mod-shift-j
	      Swap the focused window with the next window

       mod-shift-k
	      Swap the focused window with the previous window

       mod-h  Shrink the master area

       mod-l  Expand the master area

       mod-t  Push window back into tiling

       mod-comma
	      Increment the number of windows in the master area

       mod-period
	      Deincrement the number of windows in the master area

       mod-b  Toggle the status bar gap

       mod-shift-q
	      Quit xmonad

       mod-q  Restart xmonad

       mod-[1..9]
	      Switch to workspace N

       mod-shift-[1..9]
	      Move client to workspace N

       mod-{w,e,r}
	      Switch to physical/Xinerama screens 1, 2, or 3

       mod-shift-{w,e,r}
	      Move client to screen 1, 2, or 3

       mod-button1
	      Set the window to floating mode and move by dragging

       mod-button2
	      Raise the window to the top of the stack

       mod-button3
	      Set the window to floating mode and resize by dragging

Examples
       To use xmonad as your window manager add to your ~/.xinitrc file:

	      exec xmonad

Customization
       xmonad is customized in ~/.xmonad/xmonad.hs, and then restarting with mod-q.

       You can find many extensions to the core feature set in the xmonad- contrib  package,  available  through  your	package  manager  or  from
       xmonad.org (http://xmonad.org).

   Modular Configuration
       As  of  xmonad-0.9, any additional Haskell modules may be placed in ~/.xmonad/lib/ are available in GHC's searchpath.  Hierarchical modules
       are supported: for example, the file ~/.xmonad/lib/XMonad/Stack/MyAdditions.hs could contain:

	      module XMonad.Stack.MyAdditions (function1) where
		  function1 = error "function1: Not implemented yet!"

       Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that module was contained within xmonad or xmonad-contrib.

Bugs
       Probably.  If you find any, please report them to the bugtracker (http://code.google.com/p/xmonad/issues/list)

xmonad-0.10							   25 October 09							 xmonad(1)
All times are GMT -4. The time now is 05:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy