在ubuntu中,您可以执行x11(xpos, ypos)来指定窗口的位置。

选项A

在MacOS中使用quartz()可以做到这一点吗?

选项B

我大部分的Google搜索都告诉我选项A是不可能的,那么我们可以绕过它吗?

我尝试覆盖原始的quartz函数,但失败了,由于某种原因,无法执行d <- check.options(new, name.opt = ".quartz.Options", envir = .Quartzenv)因为“ no .Quartzenv”和如果我调整条件使q_options <<- quartz.options()失败,它将在q_options <<- quartz.options()调用上失败,并说不能执行C_quartz。

到底是怎么回事?

    quartz <- function (title, width, height, pointsize, family, antialias,
                        type, file = NULL, bg, canvas, dpi, xpos=NULL, ypos=NULL)
    {
      if (missing(type) || type %in% c("", "native", "Cocoa")) {
        check <- Sys.getenv("_R_CHECK_SCREEN_DEVICE_", "")
        msg <- "screen devices should not be used in examples etc"
        if (identical(check, "stop"))
          stop(msg, domain = NA)
        else if (identical(check, "warn"))
          warning(msg, immediate. = TRUE, noBreaks. = TRUE,
                  domain = NA)
      }

      if(!is.null(xpos)){
        warning("MacOS quartz does not accept `xpos`. Not using parameter")
      }
      if(!is.null(xpos)){
        warning("MacOS quartz does not accept `ypos`. Not using parameter")
      }

      new <- list()
      if (!missing(title))
        new$title <- title
      if (!missing(width))
        new$width <- width
      if (!missing(height))
        new$height <- height
      if (!missing(pointsize))
        new$pointsize <- pointsize
      if (!missing(family))
        new$family <- family
      if (!missing(antialias))
        new$antialias <- antialias
      if (!missing(bg))
        new$bg <- bg
      if (!missing(canvas))
        new$canvas <- canvas
      if (!missing(type))
        new$type <- type
      if (!missing(dpi))
        new$dpi <- dpi
      if (!grDevices:::checkIntFormat(new$title))
        stop("invalid 'title'")
      if (!is.null(file) && !grDevices:::checkIntFormat(file))
        stop("invalid 'file'")
      d <- check.options(new, name.opt = ".quartz.Options", envir = .Quartzenv)
      .External(C_Quartz, d$type, file, d$width, d$height, d$pointsize,
                d$family, d$antialias, d$title, d$bg, d$canvas, if (is.na(d$dpi)) NULL else d$dpi)
      invisible()
    }
    assign("quartz", quartz, envir = .GlobalEnv)

  ask by Matias Andina translate from so

本文未有回复,本站智能推荐:

1回复

X11在R中绘图时挂起

在绘制到R中的窗口时,X11一直挂着。 这些步骤重现该错误。 X11窗口变为活动状态。 按[Apple] + [Tab]返回到终端窗口。 第二个X11窗口变为活动状态。 按[Apple] + [Tab]返回到终端窗口。 确保您在终端中并且没有按住任何键,再次按[App
1回复

是否可以使用RStudio在OSX上配置R图形事件处理?

我在R中使用kml软件包,并且为了选择分区,我需要使用依赖于交互式图形环境的函数。 尝试运行choice功能,但出现此错误: 谷歌搜索没有产生任何线索。
2回复

在使用适用于 macOS 的 GitHub Actions 进行测试之前如何安装 X11?

我正在使用 GitHub Actions 测试 R 包,它在 Windows 和 Linux 上成功。 但是,它在 Mac OS 上失败,正如您在日志中看到的那样: 我没有 Mac 电脑,将来也不打算这样做,所以我无法自己测试。 正如我在 mac 上看到的include cairo R ,这
1回复

如何在 Quartz 事件中读取鼠标增量?

在 Quartz 应用程序中,我试图冻结屏幕上的鼠标指针,但继续向用户注册鼠标移动。 我找到了如何冻结指针: 我正在关注文档,但不知道如何获取和读取包含 mouse delta (change in X and Y) data 的事件。
1回复

使用pyobjc在Python中编写OSX全局热键检测 - 使用'Quartz.CGEventMaskBit'时出错

我正在引用这个旧线程: Mac OS X的系统范围快捷方式 我一直在尝试使用它为osx创建一个全局热键,因为我使用pyglobalshortcuts的旧方法不再适用于PyQt5。 麻烦的是当我在'CGEventTapCreate'函数中侦听'kCGEventKeyUp'或'kCGEven
2回复

如何在 Mac 上的 Python 中列出所有工作区中的所有窗口?

以下 Python 2 代码打印当前工作区中所有窗口的列表: 虽然它不打印全屏的应用程序(因为它在另一个工作区中)。 如何修改上述脚本以列出所有桌面的所有窗口?
1回复

如何找到OS X上所有活动窗口的根元素

我有麻烦了 可能有人简要介绍了os x中的窗口层次结构。 以及是否有可能在目标c和某些框架的帮助下直接进行交互。 PS我需要知道所有活动窗口的根元素的特征。 在下一步中,我需要了解每个活动窗口的所有GUI控件。
1回复

在不同的屏幕尺寸上使用屏幕坐标不正确裁剪 NSImage

我正在尝试复制 macOS 的屏幕截图功能,在屏幕上拖动选择以提供用于裁剪图像的坐标。 我在我的台式机 Mac (2560x1600) 上运行良好,但在我的笔记本电脑上测试 (2016 rMBP 15", 2880x1800),裁剪后的图像完全错误。我不明白为什么我会在我的桌面上得到正确的结果,但不