Giter Club home page Giter Club logo

muffin's Introduction

Mutter

Mutter is a Wayland display server and X11 window manager and compositor library.

When used as a Wayland display server, it runs on top of KMS and libinput. It implements the compositor side of the Wayland core protocol as well as various protocol extensions. It also has functionality related to running X11 applications using Xwayland.

When used on top of Xorg it acts as a X11 window manager and compositing manager.

It contains functionality related to, among other things, window management, window compositing, focus tracking, workspace management, keybindings and monitor configuration.

Internally it uses a fork of Cogl, a hardware acceleration abstraction library used to simplify usage of OpenGL pipelines, as well as a fork af Clutter, a scene graph and user interface toolkit.

Mutter is used by, for example, GNOME Shell, the GNOME core user interface, and by Gala, elementary OS's window manager. It can also be run standalone, using the command "mutter", but just running plain mutter is only intended for debugging purposes.

Contributing

To contribute, open merge requests at https://gitlab.gnome.org/GNOME/mutter.

The coding style used is primarily the GNU flavor of the GNOME coding style with some minor additions such as preferring stdint.h types over GLib fundamental types, and a soft 80 character line limit. However, in general, look at the file you're editing for inspiration.

Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.

License

Mutter is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for detalis.

muffin's People

Contributors

albertjp avatar autarkper avatar brownsr avatar cgwalters avatar clefebvre avatar cobinja avatar dalcde avatar dankamongmen avatar djdeath avatar fantu avatar fmuellner avatar glebihan avatar itzexor avatar jaszhix avatar jknockel avatar josephmcc avatar leigh123linux avatar ljanyst avatar magcius avatar mahfiaz avatar maxyz avatar monsta avatar mtwebster avatar nbourdau avatar owtaylor avatar pclouds avatar rcalixte avatar recursive-rat4 avatar rtcm avatar yarons avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

muffin's Issues

Add keyboard modifier to enable/disable edge-tiling

It would be useful if a keyboard modifier (e.g. control or alt, but not shift as it is used for snap) inverts the current enable setting of edge-tiling. To be clear: if edge-tiling is disabled in the settings, using the keyboard modifier when dragging a window would enable edge-tiling for that drag. If edge tiling enabled in the settings, using the keyboard modifier when dragging a window would disable edge-tiling for that drag.

No rule to make target, compilation error

I ran into an error while trying to compile Muffin, is anyone else running into the following problem??

linuxmint-muffin-08e7d43% ./configure                                                                                              
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether to disable maintainer-specific portions of Makefiles... yes
checking whether NLS is requested... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for intltool >= 0.34.90... 0.50.2 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.14.2
checking for XML::Parser... ok
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for library containing strerror... none required
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GLIB - version >= 2.0.0... yes (version 2.32.1)
checking size of char... 1
checking size of short... 2
checking size of long... 8
checking size of int... 4
checking size of void *... 8
checking size of long long... 8
checking size of __int64... 0
checking whether byte ordering is bigendian... no
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for backtrace... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for ALL... yes
checking for MUFFIN_MESSAGE... yes
checking for MUFFIN_WINDOW_DEMO... yes
checking Startup notification library >= 0.7... yes
Building with libstartup-notification
checking libcanberra-gtk... yes
checking Xcomposite >= 0.2... Building with compositing manager
checking for CLUTTER... yes
checking for gobject-introspection... yes
checking Xcursor... yes
Building with Xcursor
checking for MUFFIN... yes
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XineramaQueryExtension in -lXinerama... yes
checking for X11/extensions/Xinerama.h... yes
checking for Xinerama support on XFree86... yes
checking for XShapeQueryExtension in -lXext... yes
checking X11/extensions/shape.h usability... yes
checking X11/extensions/shape.h presence... yes
checking for X11/extensions/shape.h... yes
checking for XkbQueryExtension in -lX11... yes
checking X11/XKBlib.h usability... yes
checking X11/XKBlib.h presence... yes
checking for X11/XKBlib.h... yes
checking for XRRUpdateConfiguration in -lXrandr... yes
checking for X11/extensions/Xrandr.h... yes
checking for XSyncQueryExtension in -lXext... yes
checking for X11/extensions/sync.h... yes
checking for gdk-pixbuf-csource... /usr/bin/gdk-pixbuf-csource
checking for gconftool-2... /usr/bin/gconftool-2
Using config source xml:merged:/etc/gconf/gconf.xml.defaults for schema installation
Using $(sysconfdir)/gconf/schemas as install directory for schema files
checking for zenity... /usr/bin/zenity
checking for a Python interpreter with version >= 2.5... python
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/dist-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages
checking gnome-doc-utils >= 0.8.0... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/man/Makefile
config.status: creating src/Makefile
config.status: creating src/wm-tester/Makefile
config.status: creating src/libmuffin.pc
config.status: creating src/muffin-plugins.pc
config.status: creating src/tools/Makefile
config.status: creating src/compositor/plugins/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po/stamp-it commands

muffin-1.0.4

    prefix:                   /usr/local
    source code location:     .
    compiler:         gcc

    GConf:                    yes
    XFree86 Xinerama:         yes
    Solaris Xinerama:         no
    Startup notification:     yes
    libcanberra:              yes
    Introspection:            yes
    Session management:       yes
    Shape extension:          yes
    Xsync:                    yes
    Xcursor:                  yes

This is the stable branch of muffin
linuxmint-muffin-08e7d43% make -j8 
make  all-recursive
make[1]: Entering directory `/home/larz/Desktop/linuxmint-muffin-08e7d43'
Making all in src
make[2]: Entering directory `/home/larz/Desktop/linuxmint-muffin-08e7d43/src'
/usr/bin/gdk-pixbuf-csource --raw --build-list stock_maximize_data ./stock_maximize.png stock_minimize_data ./stock_minimize.png stock_delete_data ./stock_delete.png >./inlinepixbufs.h
make[2]: *** No rule to make target `muffin-marshal.list', needed by `stamp-muffin-marshal.h'.  Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/home/larz/Desktop/linuxmint-muffin-08e7d43/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/larz/Desktop/linuxmint-muffin-08e7d43'
make: *** [all] Error 2

Tiling change removes the ability to remaximise windows

Metacity/Mutter/Muffin have always allowed maximised windows to be dragged, triggering restore on them, and also would let them be dragged back to the top of the screen, to undo that and leave them maximised. The recent tiling change removes that, so if I drag a maximised window, then put it back in place in a single motion, I end up with a top-tiled window.

There should be a temporary override in place, so that if a maximised window is dragged, "maximise instead of tiling" is in effect until the mouse is released.

no search window in gedit 3.6.2

In Ubuntu Raring with cinnamon 1.8.6 and muffin 1,8,2, gedit 3.6.2 does not display its small search window.
The window seems only be hidden, because search works as usual but without the windows. The replace window works without issues.

I am not sure if this is the right place to report, but it depends on cinnamon/muffin, because there is no issue when switching to unity.

I have also found a similar report here:
https://bugzilla.redhat.com/show_bug.cgi?id=840297

Cinnamon cannot be loaded from tty1

As title. Stack tracing leads to cogl functions in compositor/meta-shaped-texture.c

There are plenty of them (I have removed one of the usages, and the stack pointed to another position), so I cannot pinpoint the exact functions.

Video playback regression with muffin pull request #86

Muffin pull request #86 has introduced a regression with rendering fullscreen video playback windows. While the media player is out of focus, and the user is interacting with other windows, the media player renders old content and if vdpau is being used, can make the media player non-responsive.

I tested with smplayer and the xv, sdl, gl, gl2, and vdpau output method, and all were affected. It seems like vdpau took longer to recover and possibly was the only output method vulnerable to stalling. An ogm/divx test file was visually unaffected.

Rolling back to the previous commit - 1848f02 fixes the behavior.

I am running 64bit Gentoo Linux, some relevent packages:
gnome-base/gnome-3.6.2
gnome-extra/cinnamon-1.8.8
x11-drivers/nvidia-drivers-319.23
x11-libs/libvdpau-0.5-r1
x11-wm/muffin-1.8.2-r1 (custom package to go directly to specific commits)

I uploaded a video to youtube of the regression, showing smplayer, vlc, and mythtv. This is my first streaming screen capture of my desktop, so no audio: http://www.youtube.com/watch?v=ikvmmpxnaY0

meta_workspace_index: Process /usr/bin/cinnamon was killed by signal 11 (SIGSEGV)

Bug forwarded from https://bugzilla.redhat.com/show_bug.cgi?id=1013566



Description of problem:
I was uinge "Window Tester Pro", an Eclipse plugin for GUI testing. More
precisely, the bug occured when trying to use the swing window inspector option
of the plugin to create assertions.

Version-Release number of selected component:
cinnamon-1.9.2-0.27.git8a53cfb.fc19

Additional info:
reporter:       libreport-2.1.7
backtrace_rating: 4
cmdline:        cinnamon --replace
crash_function: meta_workspace_index
executable:     /usr/bin/cinnamon
kernel:         3.11.1-200.fc19.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 meta_workspace_index at core/workspace.c:694
 #1 meta_window_change_workspace_without_transients at core/window.c:5934
 #2 change_workspace_foreach at core/window.c:5958
 #3 meta_window_foreach_ancestor at core/window.c:10286
 #4 window_activate at core/window.c:4442
 #5 ffi_call_unix64 at ../src/x86/unix64.S:76
 #6 ffi_call at ../src/x86/ffi64.c:522
 #7 gjs_invoke_c_function at gi/function.c:918
 #8 function_call at gi/function.c:1229
 #9 CallJSNative at jscntxtinlines.h:701

muffin version is muffin-1.8.3-0.6.gitc13a698.fc19

https://github.com/linuxmint/muffin/tree/c13a698bfe311703e79b1b7a0e34dc872657b05e

Adjustable (and multiple) default snap/tile split boundaries

Working on a 1920x1080 screen (fairly common) something I've found is that most websites don't naturally adjust well to an exact 50:50 split (for example, GitHub itself wants to be slightly larger since sites optimize for 1024, not 960px), whereas the types of things you use in reference with them (terminal windows, text editors) don't have much reason to use half the screen in the first place.

It would be really great if it were possible to adjust the default window tiling boundaries, or preferably use multiple invocations of the snap/tile key combinations in the same direction to change the sizing of a window amongst several defaults.

i.e.

Super+Left (1st) = 2/3rd split, Super+Left = half split, Super+Left (2nd time) = 1/3rd split.

Obviously this behavior should be configurable, but it would allow adapting to some common use cases more easily, and possibly (via maybe a custom window size option) - some uncommon ones by further configuration by users.

FTBFS with latest cogl version (cogl-1.9.6)

muffin fails to build against the latest cogl version

compositor/meta-background-actor.c: In function 'set_texture_to_stage_color':
compositor/meta-background-actor.c:224:3: warning: 'clutter_stage_get_color' is deprecated (declared at /usr/include/clutter-1.0/clutter/deprecated/clutter-stage.h:97): Use 'clutter_actor_get_background_color' instead [-Wdeprecated-declarations]
compositor/meta-background-actor.c: In function 'meta_background_actor_update':
compositor/meta-background-actor.c:542:7: warning: passing argument 1 of 'cogl_texture_pixmap_x11_new' makes pointer from integer without a cast [enabled by default]
In file included from compositor/meta-background-actor.c:29:0:
/usr/include/cogl/cogl/cogl-texture-pixmap-x11.h:102:1: note: expected 'struct CoglContext ' but argument is of type 'Pixmap'
compositor/meta-background-actor.c:542:7: error: too few arguments to function 'cogl_texture_pixmap_x11_new'
In file included from compositor/meta-background-actor.c:29:0:
/usr/include/cogl/cogl/cogl-texture-pixmap-x11.h:102:1: note: declared here
make[4]: *
* [meta-background-actor.lo] Error 1
make[4]: *** Waiting for unfinished jobs....

Full build log

https://koji.fedoraproject.org/koji/getfile?taskID=3821247&name=build.log

Buildroot log

https://koji.fedoraproject.org/koji/getfile?taskID=3821247&name=root.log

I don't see any way around this issue other than creating a muffin development branch based on mutter-3.3.90

Please add build instructions for Mint to GitHub Wiki

Dear Mr Lefebvre,

Please add the build instructions for the Muffin package(s) to the GitHub wiki to have one authoritative source which people can link in the forum to. This will avoid a lot of clutter in the forum and the instructions in the wiki can be updated without invalidating the information (links) in the forum.

Please let me know what you think about this request...

Best,

Michael Wisheu

PS: Once this is done I'd like to share my pbuilder build instructions but for this I have to know first if they are correct... ;-)

Windows open up on secondary screen

I am having a dual screen setup with Linux Mint 13 with Cinnamon 1.4.0. The problem is, that new maximized Windows seem to randomly open up on the secondary screen or jump between both. A bugfix in Mutter seems to be related, that's why I am opening an issue in this bugtracker:

According to other users, this also happens in recent Linux Mint 15 versions. Is the problem known or has been fixed? I can reproduce the problem on Linux Mint 13 with the following simple steps:

  • Primary screen is on the right
  • Start Google Chrome (or any other program probably) maximized on the (right side) primary screen
  • Open a new Google Chrome Window, for example with Ctrl + N
  • Start Typing a URL and ...
  • The new Google Chrome Window jumps to the (left side) secondary screen

There has been quite a lot discussion on a very similar (if not same) problem in the mutter bugtracker, the patch they applied to window.c is given at:

This ticket is probably a duplicate of #43, though it is not related to Nemo or any specific program in my case.

Compiling muffin on ARM

I'm trying to compile muffin on my Samsung ARM Chromebook so I can then compile and install cinnamon. When building muffin though I get this error.

CC main.lo
In file included from /usr/include/GL/gl.h:2085:0,
from core/main.c:77:
/usr/include/GL/glext.h:5327:19: error: conflicting types for 'GLintptr'
/usr/include/GLES2/gl2.h:38:26: note: previous declaration of 'GLintptr' was here
/usr/include/GL/glext.h:5328:19: error: conflicting types for 'GLsizeiptr'
/usr/include/GLES2/gl2.h:39:26: note: previous declaration of 'GLsizeiptr' was here

Muffin and Gconf

Hello,

Is it right if you want to build muffin from source it need Gconf version 2 and it would not build with Gconf version 3 ?

Roelof

Muffin compile question

Hello,

I ran into the same error as issue 16.
I can try that solution but Im building a script for Crux Linux.
So where can I put the autoreconf -vfi in this script.

./configure ---prefix=/usr
make
make DESTDIR=$PKG install

Roelof

[Dual Monitor] Alt+F7 Window movement artificiallly restricted.

I have a dual-monitor setup with a lower-resolution (1200x800) monitor positioned left of a high-resolution (1920x1200) monitor, bottom-aligned with each other. In this setup I cannot move a window to the lower part of the left-hand monitor using the Alt+F7 hotkey; the motion stops round the middle of the screen, probably when the bottom of the window reaches 800 pixels from the top of the virtual screen.

[Feature Request] use compiled gsettings shema in meta_display_add_keybinding.

Is it possible to have meta_display_add_keybinding() in keybindings.c ask for a compiled schema instead of just asking for the name of the schema. if this could be implemented, we could use a simple convenience.js to load a localized Gsettings schema. this is the only major problem i have run into using a localized schema with my windowlist applet. Below is is a example script taken directly from mutter. I'm sure this would have fairly far reaching affects throughout cinnamon and it's applets but it would be nice.

meta_display_add_keybinding (MetaDisplay *display,
const char *name,
GSettings *settings,
MetaKeyBindingFlags flags,
MetaKeyHandlerFunc handler,
gpointer user_data,
GDestroyNotify free_data)

gdesktop-enum missing

Hello,

When I try to compile muffin 1.6.7 on a Foresigt-linux box I get this message.
Im also the maintainer for Foresight Linux for Cinnamon.

Do I have to install the lastest gnome-control-center or it this a Xorg problem.

Roelof

google-chrome titlebar

Just upgraded to latest cinnamon-git with muffin-git on Arch Linux and muffin doesn't seem to respect Chrome's no titlebar property resulting in having the vanilla mutter/muffin titlebar above Chrome's tab bar.
Same issue occurs with chromium.
Borderless terminator works fine.

Screenshot: http://i.imgur.com/s6xf7.png

[abrt] cinnamon-1.9.2-2.fc19: stack_do_window_deletions: Process /usr/bin/cinnamon was killed by signal 11 (SIGSEGV)

Forwarded from https://bugzilla.redhat.com/show_bug.cgi?id=1017022

Version-Release number of selected component:
cinnamon-1.9.2-2.fc19

Additional info:
reporter:       libreport-2.1.7
backtrace_rating: 4
cmdline:        cinnamon --replace
crash_function: stack_do_window_deletions
executable:     /usr/bin/cinnamon
kernel:         3.11.3-201.fc19.x86_64
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 stack_do_window_deletions at core/stack.c:828
 #1 stack_ensure_sorted at core/stack.c:1013
 #2 get_default_focus_window at core/stack.c:1487
 #3 meta_stack_get_default_focus_window_at_point at core/stack.c:1560
 #4 meta_screen_get_mouse_window at core/screen.c:2303
 #5 ffi_call_unix64 at ../src/x86/unix64.S:76
 #6 ffi_call at ../src/x86/ffi64.c:522
 #7 gjs_invoke_c_function at gi/function.c:918
 #8 function_call at gi/function.c:1229
 #9 CallJSNative at jscntxtinlines.h:701

Obviously delay on calling out window switch bar by "Alt+Tab"

When use "Alt+Tab" to call out window switch bar, it will delay for a little moment before the bar appeared. This is not acceptable for me although it is a very short time.
The same thing NOT happened under gnome3(gnome-shell/Mutter). I think maybe the problem is that the switch bar have a shade effect, or other decoration effect.
I already configure "Alt+Tab" option from "icons + thumbnail" to "icons only", but the result still not satisfied.

[Dual monitor] Window menu opens on wrong monitor

Steps to reproduce (current master):

  1. Set up a dual-monitor configuration.
  2. Move a window from the primary to the secondary monitor.
  3. Open the window's window menu with the ALT+space hotkey.
  4. Activate a window that's on the primary monitor.
  5. Open that window's window menu using the same hotkey.

Desired behavior: in all cases, the window menu should open at its expected position inside the window.
Actual behavior: the second window menu is opened outside its window, on the wrong monitor.

[Dual monitor] Nemo jumps to the other monitor

Under some dual-monitor configurations I'm experiencing some weird behavior where applications (Nemo, Firefox) suddenly jump from the monitor they were started in to the second one. In the nemo case, it happens when immediately after starting it I press Enter on a directory. It's not consistently reproducible, as far as I can tell.

Cinnamon taskbar don't work when iBus input-method activated.

The window switch feature on task bar is not working when iBus input-method is activated.

Here is a screen capture when problem occurs: https://dl.dropboxusercontent.com/u/90779460/Screenshot_from_2013-06-01bisect3.png
captured with 1.7.4

I use ibus 1.4.1-3ubuntu1 and ibus-mozc/mozc-server 1.3.975.102-2ubuntu0.1 .

cinnamon/muffin 1.7.2 works well but be with issue #59.

I have bisected cinnamon and muffin then found muffin change baba0ed to fix #59 caused it.

support "windows rules" (at least to automatically keep certain windows on all workspaces)

Perhaps Muffin already supports it, in which case I think it needs to be better surfaced in the UI.

In compiz (Unity), KWin, and Xfwm (and maybe Metacity too) I can create a "windows rule" to customize many things about particular applications and types of windows for those applications and have the WM apply those rules automatically.

While I've done several subtle customization for a variety of windows, the one I miss most is to have my IM chat window(s) automatically set to be visible on all workspaces.

I would like to see such a feature added to Mutter.

  • A prototype solution might be a way to hook in wmctrl commands (or I suppose any script) to a window creation event
  • A polished solution would be to provide a control like the "Windows Rules" plugin for compiz
  • An alternate solution would be to provide a simpler UI for the single feature of making certain windows appear on all desktops by default
    • (this might be as simple as an option on the window menu to save properties like "always on visible workspace" and even "always on top" to apply them the next time a window like the current one is created)

Muffin crashes after Upgrade to Ubuntu 13.10

In LightDM I'm getting windows without border (that's why I reported it here):
48b29296-38eb-11e3-8b8e-4dd5bb7b53e5

After logging in (Cinnamon selected) I'm getting a black background desktop with default/fallback icon theme and without a panel. Opening up the Terminal (Ctrl+Alt+T) there is still no window border. When running cinnamon in it, Cinnamon starts and I'm getting my background (same as in LightDM) with panel but still default icon theme.

Here's the output of cinnamon:

$ cinnamon
      JS LOG: About to start Cinnamon
Window manager warning: Log level 16: Unable to register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject
Window manager warning: Log level 16: Error registering polkit authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject (polkit-error-quark 0)
      JS LOG: Cinnamon started at Fri Oct 18 2013 20:59:00 GMT+0200 (CEST)
      JS LOG: network applet: Cannot find connection for active (or connection cannot be read)
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
failed to create drawable
    JS ERROR: !!!   Exception was: Error: missing path proxifying object
    JS ERROR: !!!     message = '"missing path proxifying object"'
    JS ERROR: !!!     fileName = '"/usr/share/cjs-1.0/dbus.js"'
    JS ERROR: !!!     lineNumber = '321'
    JS ERROR: !!!     stack = '"([object Object],"org.freedesktop.ConsoleKit",null)@/usr/share/cjs-1.0/dbus.js:321
([object Object],"org.freedesktop.ConsoleKit",null)@/usr/share/cjs-1.0/dbus.js:602
([object Object],"org.freedesktop.ConsoleKit",null)@/usr/share/cjs-1.0/dbus.js:599
(null,[object Error])@/usr/share/cinnamon/js/ui/automountManager.js:63
"'
      JS LOG: network applet: Found connection for active

Last lines of /var/log/syslog:

Oct 19 16:28:25 danny colord: device removed: xrandr-eDP1
Oct 19 16:28:25 danny colord: Profile removed: icc-36851be7b70a38b6446b14e8dbdd3175
Oct 19 16:28:25 danny colord: Profile removed: icc-21f5af405439f18d09274ffb9f82c2e6
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.wifi.share.open: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.35': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.enable-disable-network: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.sleep-wake: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.enable-disable-wifi: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.enable-disable-wwan: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.enable-disable-wimax: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.network-control: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.wifi.share.protected: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.wifi.share.open: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.settings.modify.system: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.settings.modify.own: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny NetworkManager[830]:  error requesting auth for org.freedesktop.NetworkManager.settings.modify.hostname: (3) GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get UID of name ':1.30': no such name
Oct 19 16:28:25 danny rtkit-daemon[1571]: Successfully made thread 11162 of process 11162 (n/a) owned by '1000' high priority at nice level -11.
Oct 19 16:28:25 danny rtkit-daemon[1571]: Supervising 4 threads of 2 processes of 2 users.
Oct 19 16:28:25 danny dbus[460]: [system] Activating service name='org.freedesktop.systemd1' (using servicehelper)
Oct 19 16:28:25 danny rtkit-daemon[1571]: Successfully made thread 11179 of process 11162 (n/a) owned by '1000' RT at priority 5.
Oct 19 16:28:25 danny rtkit-daemon[1571]: Supervising 5 threads of 2 processes of 2 users.
Oct 19 16:28:25 danny rtkit-daemon[1571]: Successfully made thread 11182 of process 11162 (n/a) owned by '1000' RT at priority 5.
Oct 19 16:28:25 danny rtkit-daemon[1571]: Supervising 6 threads of 2 processes of 2 users.
Oct 19 16:28:25 danny dbus[460]: [system] Successfully activated service 'org.freedesktop.systemd1'
Oct 19 16:28:25 danny colord: Device added: xrandr-eDP1
Oct 19 16:28:26 danny colord: Profile added: icc-a045d109e261f7f462ec716555a2850b
Oct 19 16:28:26 danny colord: Automatic metadata add icc-807f323a5d6055fb472c6525f9c605ee to xrandr-eDP1
Oct 19 16:28:26 danny colord: Profile added: icc-807f323a5d6055fb472c6525f9c605ee
Oct 19 16:28:26 danny dbus[460]: [system] Activating service name='org.freedesktop.UDisks2' (using servicehelper)
Oct 19 16:28:26 danny udisksd[11392]: udisks daemon version 2.1.0 starting
Oct 19 16:28:26 danny dbus[460]: [system] Successfully activated service 'org.freedesktop.UDisks2'
Oct 19 16:28:26 danny udisksd[11392]: Acquired the name org.freedesktop.UDisks2 on the system message bus

Mapping effect on inappropriate popups

Since #108 I'm getting mapping effect for certain popups.

Specific examples: Chrome/Chromium url/search auto-complete dropdown, Sublime Editor tooltips, code completion popups.

Muffin 1.1.1 has a faulty debian/control file checked in - The build dependency gsettings-desktop-schemas-dev is missing!

Hi everyone,

Muffin 1.1.1 has a faulty debian/control file checked in. The build dependency gsettings-desktop-schemas-dev is missing! A simple run of "debian/rules clean" should update this file from the correct template debian/control.in but this doesn't happen.

In order to fix this I've added the line "DEB_AUTO_UPDATE_DEBIAN_CONTROL := yes" as second line before any import to debian/rules. Then I've ran "debian/rules clean" and debian/control got updated.

Can someone please fix this?

Best,

Michael

PS: I've noticed this error because I build Muffin/Cinnamon/Nemo with the help of pbuilder and of course the build fails because the dependency gsettings-desktop-schemas-dev is missing.

Add startup features to muffin

It would be cool to have the possibility to start programs minimized, maximized, or on defined monitors by starting them from bash.

For example KDE offers the following:
kstart --iconify APPLICATION
to start the APPLICATION minimized

[Feature Request] well implemented Client Side Decorations

There are some applications where a WELL IMPLEMENTED version of CSD could be effective. I personally use Firefox and as much as I would love to put the tabs in the title bar like on Windows, I can't and I believe this could go a long way to fixing that.

Now, I don't want CSD like what Gnome did... that's just ugly. But if you could collaborate with the KDE/Xfce/MATE/etc teams and come up with a semi-universal way to implement CSD as a purely explicit option (aka the window defaults to SSD) I think it could be nice.

Of course, allowing the user to force SSD over all windows could be an option as well...

I'm not 100% sure this is the right repo to post this feature request, and I didn't know anywhere else to request a feature... I just really, really want Firefox tabs in the titlebar haha

compile fails due to use of deprecated functions on new distros

Example:

muffin-window-demo.c:356:3: error: 'gtk_vbox_new' is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkvbox.h:62): Use 'gtk_box_new' instead [-Werror=deprecated-declarations]
....

muffin-mag.c: In function 'shutdown_grab':
muffin-mag.c:151:3: error: 'gdk_keyboard_ungrab' is deprecated (declared at /usr/include/gtk-3.0/gdk/gdkmain.h:100): Use 'gdk_device_ungrab' instead...

Full log here:
https://build.opensuse.org/package/rawlog?arch=i586&package=muffin&project=home%3Acyberorg%3Acinnamon&repository=openSUSE_Factory

Open new windows on top

When opening new windows, they do not always appear on top of other windows.
Examples : opening the media player from the media player applet in Cinnamon doesn't put the window on top

ALT+Escape handled by muffin?

I'm wondering, is muffin responsible for what happens when I activate the ALT+Escape keybinding in Cinnamon? In that case, it is not working correctly, see linuxmint/cinnamon#834. Otherwise, please guide me to where I can find the code?

Personally, I would rather see it fixed than scrapped.

Instrospection bindings (typelib/gir) installing on the wrong place

Hi,

I was doing some research on cinnamon and when I run 'pmap' I've found out that the introspection bindings were installing in the wrong place.

I've made a small patch to correct the install of introspection typelib and gir....

diff -urN a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am   2012-01-27 21:29:27.791510387 +0000
+++ b/src/Makefile.am   2012-01-27 21:52:32.949504723 +0000
@@ -217,10 +217,10 @@
 # These files are in package-private directories, even though they may be used
 # by plugins.  If you're writing a plugin, use g-ir-compiler --add-include-path
 # and g-ir-compiler --includedir.
-girdir = $(pkglibdir)
+girdir = @INTROSPECTION_GIRDIR@
 gir_DATA = Meta-$(api_version).gir

-typelibdir = $(pkglibdir)
+typelibdir = @INTROSPECTION_TYPELIBDIR@
 typelib_DATA = Meta-$(api_version).typelib

 INTROSPECTION_GIRS = Meta-$(api_version).gir

Remove Firefox window titlebar

Is it possible to remove the titlebar in Firefox so it look like Chrome.

This will also allow Firefox to look like the Windows version with the small orange menubar in the top left.

Mint 15, Cinnamon, Firefox 22 (Mozilla firefox for Linux Mint mint 1.0)
chrome

typelib needs to be changed to avoid conflicts with mutter

It would be benefic to change the name of muffin internal typelib to avoid potential conflicts with mutter in the future. Please be aware that RPM distributions (Fedora, openSUSE, etc) if they follow typelib naming conventions there might exists cases where we have 2 packages providing the same dependency (ex: mutter and muffin).

By changing the typelib name, such problem would disappear.

attach modal dialog inactive in dconf

dconf's org/cinnamon/muffin/attach-modal-dialogs is not effective. I would expect it to correspond to "Cinnamon Settings" - Windows / Attach dialog windows to their parent window's titlebar. I don't know where in dconf this setting is. (must rely on cinnamon settings interface)

Windows Key + Directional key window resizing doesn't work properly

Copied from linuxmint/cinnamon#1366
It's probably muffin-related instead of cinnamon.

I made bug report to Linux Mint Lauchpad but probably should have done it here.
Maybe someone should put bug report in link to cinnamon desktop page?

I'm using Linux Mint 14 RC with Cinnamon 1.6.6. This bug also happens with Linux Mint 13 and Cinnamon upgraded to 1.6.4.

Example Windows Key + Right makes window 50% and positiones it to right. But after that if I press Windows Key + Left windows isn't resized back. I have to press Windows Key + Left twice to get it back, it should work on first press. Same happens if i press Windows key + left and then press Windows key + right, I have to press Windows key + right twice.
Also if I press Windows Key + Up to maximize windows, Windows Key + directional keys don't work anymore. Well sometimes I randomly get them to work.

Video about the bug is here https://bugs.launchpad.net/linuxmint/+bug/1077453

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.