标签: window-managers

轻量级X窗口管理器/环境

我的机器严重不足,我想我需要开始节省每个备用周期.我知道,与我的同事的KDE设置相比,我的Gnome环境似乎表现不佳.但是如果我要做那么大的转换,我不妨考虑运行一些更轻的东西.

是否有可能在轻量级窗口管理器上生存并仍然运行现代应用程序(Firefox,Eclipse,OpenOffice)?我有什么好的候选窗口经理可以尝试,我需要知道什么?

x11 performance window-managers

10
推荐指数
3
解决办法
6989
查看次数

Mono在Ubuntu中全屏赢得应用程序?

只是想知道是否有一种已知的方法可以让Mono System.Windows.Forms应用程序在Ubuntu/Gnome上全屏显示.

单声道是2.4.2.3 Ubuntu是9.10

在Windows上执行它需要一个pinvoke,显然不会在这里工作.

这就是我将窗口边框设置为无,窗口位置设置为居中,状态设置为最大化:

alt text http://dl.dropbox.com/u/116092/misc/permalink/joggler/screenshot01.png

更新.

也尝试过:

  • this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
    this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

  • CTRL-F11

  • Text = string.Empty; //没有标题
    MaximizeBox = false;
    MinimizeBox = false;
    ControlBox = false;
    FormBorderStyle = None;
    WindowState =最大化;

  • FormBorderStyle = FormBorderStyle.None;
    Location = new Point(0,0);
    Size = Screen.PrimaryScreen.Bounds.Size;

所有这些我最终得到了相同的结果.

我遇到了一个涉及_NET_WM_STATE_FULLSCREEN的pinvoke的领导,但就我所知道的那样.任何关于它的指针将不胜感激.

ubuntu mono window-managers fullscreen winforms

10
推荐指数
1
解决办法
4961
查看次数

我如何使用另一个java文件的getWindowManager()

我想在我的MainActivity中使用getWindowManager(),但我不想直接在其中编写此方法.

这是我的MainActivity代码

public class MainActivity extends Activity {
@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  String d= new DisplayMessageActivity().getWeithAndHeight(d);
 }
Run Code Online (Sandbox Code Playgroud)

这是我的DisplayMessageActivity代码

public class DisplayMessageActivity extends Activity {

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
    ....
    ....
    setContentView(textView);
}
public String getWeithAndHeight(String url) {  
    DisplayMetrics dm = new DisplayMetrics();  
    *getWindowManager().getDefaultDisplay().getMetrics(dm);*
    int width = dm.widthPixels;
    int height = dm.heightPixels;  
    String w=new String(""+width);
    String h=new String(""+height);
    url=url+"&23=w%3A"+w+"%20h%3A"+h+"%20d%3A"; 
    return url;
}  
}
Run Code Online (Sandbox Code Playgroud)

我的代码在getWindowManager()处断,请告诉我原因.非常感谢你.

android window-managers

10
推荐指数
4
解决办法
3万
查看次数

如何停止/解决Java应用程序窃取Linux窗口管理器的焦点

我们想用Java快速构建小部件原型.我们将它们叠加在用专有第三方图形包编写的显示器上.我们发现Java GUI会从窗口管理器中窃取键盘焦点.

窗口管理器是fvwm,我已经尝试配置它以便Java应用程序设置为不获得焦点,而且如果它确实得到焦点将它拿走并将其提供给其他GUI.

如果我使用Java应用程序运行它它不起作用(只要鼠标在Java GUI上它有键盘焦点) - 如果我交换一些标准的X GUI小部件(XEyes)代替Java GUI它就像一个魅力.这为Java不尊重ICCCM的声明(由fvwm的人员维护)提供了一些可靠性.

我想知道其他人是否已经解决了这个问题,如果是这样的话.到目前为止,我有一些选择如何尝试解决这个问题:

1)旋转Java设置,希望如果我关闭焦点,可能会将焦点控制交还给窗口管理器(到目前为止,我在父JFrame上尝试了"setFocusable(false)".这不起作用.线程" http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/awt.html#gdaao "表示我应该改为"Window.setFocusableWindowState(false)"这个GUI有问题但是我还没有完全相信Java会重新关注焦点

2)使用JNI在Java程序中进行低级X调用.我认为这可能会奏效,但是,我从来没有玩过低级别的X.我不确定我应该使用什么叫(XtSetKeyboardFocus()应该是危险的...)或者我如何识别我正在操作的GUI(在这方面fvwm很好,因为他们有一个GUI,允许你点击另一个GUI,找出它的"名称"和"类")

3)使用"更强大"的窗口管理器.一些不使用ICCCM的窗口管理器可能能够更好地处理Java.当然,有太多的经理人,我不知道该集中精力.同样,很多人似乎都缺乏通过app指定焦点(大多数似乎只关心广泛的政策).

java linux keyboard window-managers focus

9
推荐指数
1
解决办法
1999
查看次数

Xlib如何(删除窗口装饰)工作?

以下代码如何删除窗口边框?

//note the struct is declared elsewhere, is here just for clarity.
//code is from [http://tonyobryan.com/index.php?article=9][1]
typedef struct Hints
{
    unsigned long   flags;
    unsigned long   functions;
    unsigned long   decorations;
    long            inputMode;
    unsigned long   status;
} Hints;

//code to remove decoration
Hints hints;
Atom property;
hints.flags = 2;
hints.decorations = 0;
property = XInternAtom(display, "_MOTIF_WM_HINTS", true);
XChangeProperty(display,window,property,property,32,PropModeReplace,(unsigned char *)&hints,5);
XMapWindow(display, window);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经收集到Atom是一种类似于Window和Display的标识符,但我无法弄清楚Hints结构或"_MOTIF_WM_HINTS"的来源.谁能为我解释所有这些代码?在此先感谢,ell.

c++ linux window-managers xlib

9
推荐指数
1
解决办法
6541
查看次数

Windowmanager与动画

首先感谢所有试图回复此主题的人.

我有一个活动,我想在屏幕顶部显示一种菜单,我使用windowmanager来处理这个问题.这是关于我遇到的UI问题,为什么我选择windowmanager来做这样的菜单.但是现在我希望这个菜单有动画,但似乎动画不起作用.这是我的代码.

如果有人知道如何动画窗口管理员我会很感激.

Animation animShowTopLine;

animShowTopLine = AnimationUtils.loadAnimation(this, R.anim.translate);
        animShowTopLine.reset();
LinearLayout top_line;
WindowManager wm;
WindowManager.LayoutParams wmParams;

LayoutInflater inflate = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

    top_line =    (LinearLayout) inflate.inflate(R.layout.line, null);

    wm =(WindowManager) getApplicationContext().getSystemService("window");

    wmParams =new WindowManager.LayoutParams();

    wmParams.type=2002;
    wmParams.format = 1;
    wmParams.flags=40;
    wmParams.width=WindowManager.LayoutParams.FILL_PARENT;
    wmParams.height=WindowManager.LayoutParams.WRAP_CONTENT;

    wmParams.gravity  = Gravity.TOP;

    wm.addView(top_line, wmParams);


    top_line.startAnimation(animShowTopLine);
Run Code Online (Sandbox Code Playgroud)

提前致谢.问候.

android window-managers android-animation translate-animation

9
推荐指数
1
解决办法
6601
查看次数

Linux:列出所有可用的窗口管理器

如何在linux系统上获得所有可用Windows管理器的列表(当然,这通常不需要,但是 - 我没有root权限).很难在Google上搜索,因为返回的所有结果都是"linux的窗口管理器列表".

问候,

J.P

澄清:我正在寻找一个命令,列出我正在使用的系统上的"所有已安装的窗口管理器".

谢谢你的回答.有兴趣知道它的发行版依赖.我的发行版是RedHat.

cat /proc/version
(Linux version 2.4.21-40.ELsmp (centos@sillage.bis.pasteur.fr) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-53)) #1 SMP Wed Mar 15 13:46:01 EST 2006)
Run Code Online (Sandbox Code Playgroud)

linux window-managers

8
推荐指数
3
解决办法
1万
查看次数

什么是Awesome wm的"Fn"键的名称?

例如:

awful.key({"Shift", }, "Left", volwidget.down)

如何找出要写的而不是"Shift"来使用"Fn"键?

window-managers awesome-wm

8
推荐指数
2
解决办法
5077
查看次数

Android WindowManager TYPE_SYSTEM_ALERT触摸布局

我的应用程序在特定时间向用户显示一个按钮TYPE_SYSTEM_ALERT,我试图让用户移动它.触摸和移动操作会在下面的代码中注册,但按钮不会移动.我错过了什么?

    //create button
    mbtRec = new Button(ACR.getContext()); 
    mbtRec.setText(R.string.start_recording);
    mbtRec.setTypeface(null, Typeface.BOLD);
    mbtRec.setBackgroundColor(Color.RED);       //mbtRec.setBackgroundResource(R.drawable.ic_launcher); 
    mbtRec.setOnClickListener(recButtonOnClickListener);
    mbtRec.setOnTouchListener(recButtonOnTouchListener);
    //create layout params
    recButtonLayoutParams = new WindowManager.LayoutParams();
    recButtonLayoutParams.flags = WindowManager.LayoutParams.FORMAT_CHANGED; //8
    recButtonLayoutParams.format = PixelFormat.RGBA_8888; //PixelFormat.TRANSLUCENT
    recButtonLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
    recButtonLayoutParams.gravity = Gravity.TOP | Gravity.CENTER; //51
    recButtonLayoutParams.width = WindowManager.LayoutParams.FILL_PARENT;
    recButtonLayoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
    paramWindowManager.addView(this.mbtRec, recButtonLayoutParams);


OnTouchListener recButtonOnTouchListener = new View.OnTouchListener() {
        @TargetApi(Build.VERSION_CODES.FROYO)
        @Override
        public boolean onTouch(View v, MotionEvent event) {
             switch(event.getActionMasked())
                {
                    case MotionEvent.ACTION_DOWN:
                        Tools.Log("Drag", "Started Dragging");
                        break;
                    case MotionEvent.ACTION_UP:
                        Tools.Log("Drag", "Stopped Dragging");
                        break;
                    case MotionEvent.ACTION_MOVE:
                        Tools.Log("Drag", "Dragging");


                        recButtonLayoutParams.x …
Run Code Online (Sandbox Code Playgroud)

android window-managers move ontouchlistener layoutparams

8
推荐指数
1
解决办法
5777
查看次数

我应该用什么来代替 getWidth() 和 getHeight() 来知道什么时候宽度更大,什么时候高度更大

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.WindowManager;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        FragmentManager fm=getFragmentManager();
        FragmentTransaction ft= fm.beginTransaction();


        WindowManager wm= getWindowManager();
        Display d=wm.getDefaultDisplay();

        if (d.getWidth()>d.getHeight())
        {
            Fragment1 f1 = new Fragment1();
            ft.replace(android.R.id.content, f1);
        }
        else
        {
            Fragment2 f2 = new Fragment2();
            ft.replace(android.R.id.content, f2);
        }
    ft.commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图使用Android的碎片和希望显示fragment1在显示器的宽度大于显示器的高度和更大fragment2时显示的高度比显示器的宽度,但使用时更大getWidth()getHeight()机器人工作室是说,这些方法depricated。那么如何知道什么时候宽度更大,什么时候高度更大呢?

android window-managers fragment fragmentmanager display

8
推荐指数
1
解决办法
1110
查看次数