Commit 855bc488 authored by Adrien Plazas's avatar Adrien Plazas
Browse files

Merge tag 'v3.32.0' into pureos/sloppy

3.32.0
parents 6a271ccd 1540a395
3.32.0 - Mar 20, 2019
=====================
- Retire application menu
- Simplify the build scripts
- Drop RG and EGG libraries
- Use libdazzle
- Add filter processes option
- Support grouping system processes
- Add new application icon
- Added/updated/fixed translations:
- Polish
- Brazilian Portuguese
- Czech
- Swedish
- Finnish
- Spanish
- Hungarian
- Galician
- Turkish
- Danish
- Dutch
- Indonesian
- Italian
- Friulian
- Serbian
- Basque
- French
All contributors to this release:
Abderrahim Kitouni <akitouni@gnome.org>
Anders Jonsson <anders.jonsson@norsjovallen.se>
Asier Sarasua Garmendia <asier.sarasua@gmail.com>
Ask Hjorth Larsen <asklarsen@gmail.com>
Balázs Úr <balazs@urbalazs.hu>
Charles Monzat <charles.monzat@free.fr>
Christopher Davis <brainblasted@disroot.org>
Daniel Mustieles <daniel.mustieles.contractor@bbva.com>
Emin Tufan Çetin <etcetin@gmail.com>
Fabio Tomat <f.t.public@gmail.com>
Felipe Borges <felipeborges@gnome.org>
Fran Dieguez <frandieguez@gnome.org>
Gianvito Cavasoli <gianvito@gmx.it>
Jiri Grönroos <jiri.gronroos@iki.fi>
Kukuh Syafaat <kukuhsyafaat@gnome.org>
Марко Костић <marko.m.kostic@gmail.com>
Marek Cernocky <marek_cernocky@conel.cz>
Petr Štětka <pstetka@redhat.com>
Piotr Drąg <piotrdrag@gmail.com>
Rafael Fontenelle <rafaelff@gnome.org>
Rico Tzschichholz <ricotz@ubuntu.com>
yodatak <mryodatak@gmail.com>
3.30.0 - Sep 25, 2018
=====================
......
This diff is collapsed.
This diff is collapsed.
......@@ -17,33 +17,6 @@ list row.max:hover {
background: alpha(@error_color, 0.4);
}
list row.opened {
background:alpha(@theme_fg_color, 0.2);
}
list row.opened:hover {
background: alpha(@theme_fg_color, 0.3);
}
subprocess-list row {
padding: 0;
background: @theme_bg_color;
}
subprocess-list row:hover {
background: alpha(@theme_fg_color, 0.3);
}
subprocess-list row.max {
background: #fabbbb;
border: 1px solid #faa5a2;
}
subprocess-list row.max:hover {
background: #faa5a2;
border: 1px solid #faa5a2;
}
button.graph-switcher {
border-style: none;
border-radius: 0;
......
resource_data = files(
'interface/adwaita.css',
'ui/primary-menu.ui',
'ui/header-bar.ui',
'ui/memory-speedometer.ui',
'ui/no-results-found-view.ui',
......
......@@ -2,6 +2,7 @@
<gresources>
<gresource prefix="/org/gnome/Usage">
<file compressed="true">interface/adwaita.css</file>
<file preprocess="xml-stripblanks">ui/primary-menu.ui</file>
<file preprocess="xml-stripblanks">ui/header-bar.ui</file>
<file preprocess="xml-stripblanks">ui/memory-speedometer.ui</file>
<file preprocess="xml-stripblanks">ui/no-results-found-view.ui</file>
......
<schemalist>
<schema id="org.gnome.Usage" path="/org/gnome/Usage/" gettext-domain="gnome-usage">
<key name="unkillable-processes" type="as">
<default>['gnome-shell', 'gdm-x-session', 'gdm-wayland-session', 'gdm', 'systemd', 'gdm-session-worker', 'pulseaudio', 'Xorg']</default>
<default>['gnome-shell', 'gdm-x-session', 'gdm-wayland-session', 'gdm', 'systemd', 'gdm-session-worker', 'pulseaudio', 'Xorg', 'system']</default>
<summary>A list of processes which we don’t want killed</summary>
<description>This list is used for filtering which processes the user can’t stop.</description>
</key>
......
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.9 -->
<!-- interface-requires gtk+ 3.12 -->
<template class="UsageHeaderBar" parent="GtkHeaderBar">
<property name="visible">False</property>
......@@ -30,6 +30,21 @@
</object>
</child>
<child>
<object class="GtkMenuButton" id="primary_menu_button">
<property name="visible">True</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="icon-name">open-menu-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
<child>
<object class="GtkButton" id="storage_rescan_button">
<property name="visible">False</property>
......@@ -96,3 +111,4 @@
</child>
</template>
</interface>
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.16 -->
<template class="UsagePrimaryMenu" parent="GtkPopover">
<child>
<object class="GtkBox" id="primary_menu_container">
<property name="visible">True</property>
<property name="margin">6</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkModelButton" id="about_usage_button">
<property name="visible">True</property>
<property name="action-name">app.about</property>
<property name="text" translatable="yes">_About Usage</property>
</object>
<packing>
<property name="pack_type">end</property>
</packing>
</child>
<child>
<object class="GtkBox" id="performance_container">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action_name">app.filter-processes</property>
<property name="action_target">'group-system'</property>
<property name="text" translatable="yes">Group system processes</property>
</object>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action_name">app.filter-processes</property>
<property name="action_target">'show-all'</property>
<property name="text" translatable="yes">Show all processes</property>
</object>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
</interface>
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.10 -->
<template class="UsageSubProcessListBox" parent="GtkListBox">
<property name="visible">True</property>
</template>
</interface>
This diff is collapsed.
/* egg-animation.h
*
* Copyright (C) 2010-2016 Christian Hergert <christian@hergert.me>
*
* This file is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This file is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef EGG_ANIMATION_H
#define EGG_ANIMATION_H
#include <gdk/gdk.h>
G_BEGIN_DECLS
#define EGG_TYPE_ANIMATION (egg_animation_get_type())
#define EGG_TYPE_ANIMATION_MODE (egg_animation_mode_get_type())
G_DECLARE_FINAL_TYPE (EggAnimation, egg_animation,
EGG, ANIMATION, GInitiallyUnowned)
typedef enum _EggAnimationMode EggAnimationMode;
enum _EggAnimationMode
{
EGG_ANIMATION_LINEAR,
EGG_ANIMATION_EASE_IN_QUAD,
EGG_ANIMATION_EASE_OUT_QUAD,
EGG_ANIMATION_EASE_IN_OUT_QUAD,
EGG_ANIMATION_EASE_IN_CUBIC,
EGG_ANIMATION_EASE_OUT_CUBIC,
EGG_ANIMATION_EASE_IN_OUT_CUBIC,
EGG_ANIMATION_LAST
};
GType egg_animation_mode_get_type (void);
void egg_animation_start (EggAnimation *animation);
void egg_animation_stop (EggAnimation *animation);
void egg_animation_add_property (EggAnimation *animation,
GParamSpec *pspec,
const GValue *value);
EggAnimation *egg_object_animatev (gpointer object,
EggAnimationMode mode,
guint duration_msec,
GdkFrameClock *frame_clock,
const gchar *first_property,
va_list args);
EggAnimation* egg_object_animate (gpointer object,
EggAnimationMode mode,
guint duration_msec,
GdkFrameClock *frame_clock,
const gchar *first_property,
...) G_GNUC_NULL_TERMINATED;
EggAnimation* egg_object_animate_full (gpointer object,
EggAnimationMode mode,
guint duration_msec,
GdkFrameClock *frame_clock,
GDestroyNotify notify,
gpointer notify_data,
const gchar *first_property,
...) G_GNUC_NULL_TERMINATED;
G_END_DECLS
#endif /* EGG_ANIMATION_H */
This diff is collapsed.
/* egg-binding-group.h
*
* Copyright (C) 2015 Christian Hergert <christian@hergert.me>
* Copyright (C) 2015 Garrett Regier <garrettregier@gmail.com>
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 3 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef EGG_BINDING_GROUP_H
#define EGG_BINDING_GROUP_H
#include <gio/gio.h>
G_BEGIN_DECLS
#define EGG_TYPE_BINDING_GROUP (egg_binding_group_get_type())
G_DECLARE_FINAL_TYPE (EggBindingGroup, egg_binding_group, EGG, BINDING_GROUP, GObject)
EggBindingGroup *egg_binding_group_new (void);
GObject *egg_binding_group_get_source (EggBindingGroup *self);
void egg_binding_group_set_source (EggBindingGroup *self,
gpointer source);
void egg_binding_group_bind (EggBindingGroup *self,
const gchar *source_property,
gpointer target,
const gchar *target_property,
GBindingFlags flags);
void egg_binding_group_bind_full (EggBindingGroup *self,
const gchar *source_property,
gpointer target,
const gchar *target_property,
GBindingFlags flags,
GBindingTransformFunc transform_to,
GBindingTransformFunc transform_from,
gpointer user_data,
GDestroyNotify user_data_destroy);
void egg_binding_group_bind_with_closures (EggBindingGroup *self,
const gchar *source_property,
gpointer target,
const gchar *target_property,
GBindingFlags flags,
GClosure *transform_to,
GClosure *transform_from);
G_END_DECLS
#endif /* EGG_BINDING_GROUP_H */
/* egg-box.c
*
* Copyright (C) 2015 Christian Hergert <chergert@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <glib/gi18n.h>
#include "egg-box.h"
typedef struct
{
gint max_width_request;
} EggBoxPrivate;
enum {
PROP_0,
PROP_MAX_WIDTH_REQUEST,
LAST_PROP
};
G_DEFINE_TYPE_WITH_PRIVATE (EggBox, egg_box, GTK_TYPE_BOX)
static GParamSpec *properties [LAST_PROP];
static void
egg_box_get_preferred_width (GtkWidget *widget,
gint *min_width,
gint *nat_width)
{
EggBox *self = (EggBox *)widget;
EggBoxPrivate *priv = egg_box_get_instance_private (self);
g_assert (EGG_IS_BOX (self));
GTK_WIDGET_CLASS (egg_box_parent_class)->get_preferred_width (widget, min_width, nat_width);
if (priv->max_width_request > 0)
{
if (*min_width > priv->max_width_request)
*min_width = priv->max_width_request;
if (*nat_width > priv->max_width_request)
*nat_width = priv->max_width_request;
}
}
static void
egg_box_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
EggBox *self = EGG_BOX (object);
EggBoxPrivate *priv = egg_box_get_instance_private (self);
switch (prop_id)
{
case PROP_MAX_WIDTH_REQUEST:
g_value_set_int (value, priv->max_width_request);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
egg_box_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
EggBox *self = EGG_BOX (object);
EggBoxPrivate *priv = egg_box_get_instance_private (self);
switch (prop_id)
{
case PROP_MAX_WIDTH_REQUEST:
priv->max_width_request = g_value_get_int (value);
gtk_widget_queue_resize (GTK_WIDGET (self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
egg_box_class_init (EggBoxClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->get_property = egg_box_get_property;
object_class->set_property = egg_box_set_property;
widget_class->get_preferred_width = egg_box_get_preferred_width;
properties [PROP_MAX_WIDTH_REQUEST] =
g_param_spec_int ("max-width-request",
"Max Width Request",
"Max Width Request",
-1,
G_MAXINT,
-1,
(G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_properties (object_class, LAST_PROP, properties);
}
static void
egg_box_init (EggBox *self)
{
EggBoxPrivate *priv = egg_box_get_instance_private (self);
priv->max_width_request = -1;
}
/* egg-box.h
*
* Copyright (C) 2015 Christian Hergert <chergert@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef EGG_BOX_H
#define EGG_BOX_H
#include <gtk/gtk.h>
G_BEGIN_DECLS
#define EGG_TYPE_BOX (egg_box_get_type())
G_DECLARE_DERIVABLE_TYPE (EggBox, egg_box, EGG, BOX, GtkBox)
struct _EggBoxClass
{
GtkBoxClass parent_class;
};
GtkWidget *egg_box_new (void);
gint egg_box_get_max_width_request (EggBox *self);
void egg_box_set_max_width_request (EggBox *self,
gint max_width_request);
G_END_DECLS
#endif /* EGG_BOX_H */
/* egg-centering-bin.c
*
* Copyright (C) 2015 Christian Hergert <chergert@redhat.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "egg-centering-bin.h"
#include "egg-signal-group.h"
/**
* SECTION:egg-centering-bin:
* @title: EggCenteringBin
* @short_description: center a widget with respect to the toplevel
*
* First off, you probably want to use GtkBox with a center widget instead
* of this widget. However, the case where this widget is useful is when
* you cannot control your layout within the width of the toplevel, but
* still want your child centered within the toplevel.
*
* This is done by translating coordinates of the widget with respect to
* the toplevel and anchoring the child at TRUE_CENTER-(alloc.width/2).
*/
typedef struct
{
EggSignalGroup *signals;
gint max_width_request;
} EggCenteringBinPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (EggCenteringBin, egg_centering_bin, GTK_TYPE_BIN)
enum {
PROP_0,
PROP_MAX_WIDTH_REQUEST,
LAST_PROP
};
static GParamSpec *properties [LAST_PROP];
GtkWidget *
egg_centering_bin_new (void)
{