Class: Gtk::SystemInformation

Inherits:
Box
  • Object
show all
Includes:
BaseModule
Defined in:
lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb

Overview

Gtk::SystemInformation

Constant Summary collapse

TITLE =
#

TITLE

#
'System Information'
WIDTH =
#

WIDTH

#
'25% or minimum 1200px'
HEIGHT =
#

HEIGHT

#
'15% or minimum 500px'
USE_THIS_FONT =
#

USE_THIS_FONT

#
:dejavu_condensed_18

Constants included from BaseModule

BaseModule::HASH_USE_THESE_PERCENTAGE_VALUES_FOR_THE_HEADERS, BaseModule::IMG_DIR

Class Method Summary collapse

Instance Method Summary collapse

Methods included from BaseModule

#abort_on_exception, #absolute_file_path, #add_a_horizontal_spacer, #add_css_rules, #add_horizontal_spacer, #add_notebook, #add_or_append, #add_table3, #all_buttons?, #all_check_buttons?, #all_entries?, #all_labels?, #all_toggle_buttons?, #allow_only_numbers, #always_scrolled_window, #app_chooser_button, #append_gtk_paradise_project_css_file, #append_onto_the_CSS_rules, #append_project_css_file, #append_the_default_css_rules, #apply_the_default_CSS_rules, #automatic_scrolled_window, #automatically_create_widgets_based_on_this_dataset, #automatically_created_widgets?, #button_hover_colour, #button_themed_icon, #cairo_context, #cell_renderer_progress, #centered_cell_renderer_text, #centered_text, #change_directory, #check_button_is_checked, #check_for_a_manifest_yaml_file, #cliner, #clipboard_text?, #coloured_quit_button, #configuration?, #connect_the_skeleton, #create_a_new_file_chooser_dialog, #create_and_add_gtk_accel_group, #create_bold_cell_renderer, #create_centered_entry, #create_clipboard, #create_combobox_text, #create_context_menu, #create_entry_with_text_and_max_length, #create_font_chooser_dialog, #create_paned_hbox_first_big, #create_paned_vbox, #create_paned_vbox_last_big, #create_skeleton_then_connect_skeleton, #create_skeleton_then_connect_skeleton_then_apply_the_CSS_rules, #create_sourceview, #crimson, #css_background1, #css_provider?, #css_rules_to_apply?, #current_event?, #current_font_in_use?, #dd_mm_yy, #debug?, #default_application, #default_entry, default_gtk_adjustment?, #default_gtk_settings?, #default_notebook, #default_renderer, #delayed_css_change, #destroy_then_quit, #directory_content_widget, #directory_to_the_images?, #display_the_CSS_rules, #div, #do_apply_the_CSS_rules, #do_enable_debug, #do_popup, #drag_start, #drag_stop, #draggable_from_the_left_to_the_right_side, #draggable_left_to_right_pane, #drop_down_find_box, #e, #efancy, #eight_strings, #emoji, #emoji_image, #enable_default_grid_settings_for, #enable_these_key_combinations, #entry_with_this_completion, #esystem, #event_left_mouse_button_click?, #event_middle_mouse_button_click?, #event_right_mouse_button_click?, #ewarn, #exit_program, extended, #five_strings, #font_chooser_dialog, #four_strings, #gdk_screen, #gdk_selection_clipboard, #generate_css_class, #group_maximal, #gtk_about_dialog, #gtk_accel_group, #gtk_adjustment, #gtk_alignment, #gtk_application_window, #gtk_base_module, #gtk_bold_button, #gtk_bold_check_button, #gtk_bold_entry, #gtk_bold_frame, #gtk_bold_label, #gtk_bold_text_left_aligned, #gtk_button, #gtk_button_accel, #gtk_button_box, #gtk_button_box_spread, #gtk_button_with_label, #gtk_button_with_this_image, #gtk_button_xorg_buffer, #gtk_cell_renderer_centered_text, #gtk_cell_renderer_combo, #gtk_cell_renderer_pixbuf, #gtk_cell_renderer_right_aligned, #gtk_cell_renderer_text, #gtk_centered_spin_button, #gtk_check_button, #gtk_colour_black, #gtk_colour_button, #gtk_colour_grey, #gtk_colour_selection_dialog, #gtk_coloured_bar, #gtk_coloured_button, #gtk_combo_box, #gtk_combo_box_entry, #gtk_combo_box_text, #gtk_dialog, #gtk_drawing_area, #gtk_dropdown, #gtk_entry, #gtk_entry_completion, #gtk_entry_with_icon_name, #gtk_entry_with_secondary_icon_name, #gtk_eventbox, #gtk_expanded_expander, #gtk_expander, #gtk_file_chooser_button, #gtk_file_chooser_dialog, #gtk_file_filter, #gtk_fixed, #gtk_frame, #gtk_grid, #gtk_hbox, #gtk_hbox_with_vertical_pane, #gtk_hbutton_box, #gtk_header_bar, #gtk_hpaned, #gtk_hscale, #gtk_hseparator, #gtk_image, #gtk_image_menu_item, #gtk_input_field, #gtk_label, #gtk_left_aligned_bold_label, #gtk_left_aligned_button, #gtk_list_store, #gtk_list_store_table2, #gtk_list_store_table3, #gtk_list_store_table4, #gtk_main_quit, #gtk_markified_text, #gtk_markup, #gtk_menu, #gtk_menu_bar, #gtk_menu_item, #gtk_message_dialog, #gtk_message_dialog_run_then_destroy, #gtk_notebook, #gtk_option_menu, #gtk_password, #gtk_pixbuf, #gtk_popover, #gtk_progress_bar, #gtk_radio_button, #gtk_radio_menu_item, #gtk_resize_grip, #gtk_right_aligned_label, #gtk_runner_module, #gtk_scrollbar, #gtk_scrolled_window, #gtk_search_bar, #gtk_search_entry, #gtk_separator_menu_item, #gtk_size_group, #gtk_source_buffer, #gtk_source_view, #gtk_spin_button, #gtk_spinner, #gtk_state_normal, #gtk_status_icon, #gtk_statusbar, #gtk_statusbar_with_handle, #gtk_switch, #gtk_table, #gtk_table2, #gtk_table3, #gtk_text, #gtk_text_buffer, #gtk_text_left_aligned, #gtk_text_view, #gtk_themed_icon, #gtk_toggle_button, #gtk_toolbar, #gtk_tooltip_set_tip, #gtk_tooltip_widget, #gtk_tree_store, #gtk_tree_view, #gtk_tree_view_column, #gtk_vbox, #gtk_vbutton_box, #gtk_vpaned, #gtk_vruler, #gtk_vscale, #gtk_vseparator, #gtk_window, #h1, #h2, #h3, #h4, #h5, #h6, #hbox_text, #hbutton_box, #hcentered_entry, #horizontal_spacer, #html_table2, #icon_theme?, #icon_theme_default, #image_accessories_text_editor, #image_accessories_text_editor_symbolic_symbolic, #image_application_exit, #image_applications_system, #image_applications_system_symbolic_symbolic, #image_audio_speakers, #image_audio_volume_high, #image_audio_volume_low, #image_audio_x_generic_symbolic, #image_avatar_default, #image_bookmark_new, #image_cellular_signal_excellent_symbolic_symbolic, #image_computer, #image_dialog_question, #image_document_open, #image_document_revert, #image_document_save_as_symbolic_symbolic, #image_emblem_urgent, #image_folder_visiting_symbolic, #image_from_file, #image_from_pixbuf, #image_go_down, #image_go_up, #image_information, #image_inode_directory, #image_input_mouse, #image_left_arrow, #image_list_remove, #image_media_optical, #image_network_cellular_connected_symbolic_symbolic, #image_network_wireless_signal_excellent_symbolic, #image_play_button, #image_quit_action, #image_software_update_urgent, #image_starred, #image_system_search, #image_trophy_gold, #image_view_refresh_symbolic_symbolic, #image_web_browser, #increase_font_size, #initialize_gtk3, #interactive_change_the_font, #is_it_an_enter_key?, #is_mouse_button_event?, #is_mouse_button_release_event?, #is_not_decorated, #is_on_roebe?, #is_on_windows?, #label_then_entry, #left_aligned_selectable_text, #left_arrow_emoji, #left_label, #lightblue, #load_rules_from_the_project_css_file, #load_this_yaml_file, #main_file?, #main_font?, #max_height?, #max_resolution?, #max_width?, #mediumseagreen, #minimal_spacer, #missing_the_internal_hash?, #modify_bold_label, #modify_foreground, #modify_label, #more_css_then_apply_the_CSS_rules, #mouse_button_double_click?, #my_title?, #name_of_this_event?, #new_open_file_dialog, #no_file_exists_at, #options, #override_normal_background_color, #p, #padded_hbox, #padded_vbox, #paned_hbox, #paned_vbox, #pango_font_description, #parse_this_file_into_a_table, #percentage_widget, #percentage_widget_with_this_text, #pixbuf_from_file, #pixbuf_loader, #populate_the_internal_hash_with_the_default_values, #populate_this_list_store, #populate_this_list_store3, #populate_this_list_store4, #popup_over_this_widget, #popup_this_text_over_that_widget, #pre, #project_base_directory?, #project_yaml_directory?, #quit_button, #random_colour, #raw_cd, #read_in_from_this_css_theme, #register_sigint, #remove_all_pages, #remove_html, #replace_with_proper_tags, #report_current_dir, #reset_the_internal_variables, #reset_the_internal_variables_as_well_as_the_internal_hash, #resize_based_on_width_and_height_attributes, #response_type_ok?, #return_active_spinner, #return_combo_box_entry, #return_corresponding_gtk_stock_item, #return_current_time, #return_current_time_hh_mm_only, #return_debug_widget, #return_default_CSS_rules, #return_default_grid, #return_editable_cell_renderer_text, #return_emoji, #return_inactive_spinner, #return_p_tag, #return_pixbuf_based_on_the_default_icon_theme, #return_popover, #return_pwd, #return_scale_button, #return_scrollable_CSS_in_use_widget, #return_the_html_colours, #return_the_path_to_the_file_called_project_css, #return_the_title_from_the_config_file, #return_this_image_based_on_the_default_icon_theme, #return_top_bar, #rev, #right_arrow_emoji, #run_in_background, #run_in_background_if_is_on_roebe?, #run_main, #sbr, #scroll_down?, #scroll_up?, #sdir, #selectable_text, #set_background, #set_font, #set_font_in_use, #set_font_in_use_for_this_application, #set_this_widget, #set_width, #seven_strings, #sfancy, #sfile, #show_all, #show_debug_information, #simple_quit_button, #simplified_button_box, #six_strings, #smiley1, #smiley2, #smiley3, #smiley4, #smiley5, #spacer, #standard_file_chooser_dialog, #steelblue, #store_the_CSS_rules_into_a_local_file, #string_list_store, #swarn, #table2, #table3, #table4, #text_then_entry, #three_strings, #title?, #title_font, #title_height_width, #title_width_height, #title_width_height_font, #to_font_description, #to_utf, #tomato, #top_left, #try_to_require_the_open_gem, #try_to_set_the_xorg_buffer, #two_strings, #ungrab_application, #unicode_horizontal_spacer, #upon_delete_event_quit_the_application, #use_a_popular_reset_variant, #use_config_file?, #use_gtk?, #use_gtk_paradise_project_css_file, #use_lean_CSS_rules, #use_libui?, #use_these_css_classes, #uses_gtk2?, #uses_gtk3?, #uses_gtk4?, #vbutton_box, #vertical_spacer, #vte_terminal, #we_use_this_gtk_version?, #white_background, #width_height, #width_height_font, #width_title_height, #window_manager_name?, #window_or_vbox, #word_wrap, #write_what_into, #xid_value?

Methods included from InternalHashModule

#clear_the_internal_hash, #commandline_arguments?, #first_argument?, #height?, #infer_the_namespace, #internal_hash?, #my_title?, #namespace?, #parent_widget?, #reset_the_internal_hash, #set_commandline_arguments, #set_height, #set_my_title, #set_parent_widget, #set_width, #width?

Methods inherited from Box

#add_space, #left_aligned_text, #text

Constructor Details

#initialize(commandline_arguments = ARGV, run_already = true) ⇒ SystemInformation

#

initialize

#


47
48
49
50
51
52
53
54
55
56
57
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 47

def initialize(
    commandline_arguments = ARGV,
    run_already           = true
  )
  super(:vertical)
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Class Method Details

.run(i = ARGV) ⇒ Object

#

Gtk::SystemInformation.run

#


196
197
198
199
200
201
202
203
204
205
206
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 196

def self.run(
    i = ARGV
  )
  require 'gtk_paradise/run'
  _ = ::Gtk::SystemInformation.new(i)
  r = ::Gtk.run
  r << _
  r.automatic_size_then_automatic_title
  r.set_border_width(25)
  r.top_left_then_run
end

Instance Method Details

#add_binary_type_informationObject

#

add_binary_type_information

#


163
164
165
166
167
168
169
170
171
172
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 163

def add_binary_type_information
  _ = `uname -m`.strip
  case _
  when /x86_64/
    _ = '64'
  end
  minimal(
    left_aligned_selectable_text("Binary type: <b>#{_} bit</b>")
  )
end

#add_clockObject

#

add_clock

#


122
123
124
125
126
127
128
129
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 122

def add_clock
  require 'gtk_paradise/widgets/gtk3/mini_clock/mini_clock.rb'
  clock = ::Gtk.mini_clock
  clock.align_to_right
  minimal(
    clock, 2
  )
end

#add_n_CPUsObject

#

add_n_CPUs

#


147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 147

def add_n_CPUs
  _ = `lscpu`.strip.split("\n").select {|line| line.start_with? 'CPU(s)' }
  if _ and _.is_a?(Array)
    _ = _.first
  end
  if _.include? ':'
    _ = _.split(':').last.strip
  end
  minimal(
    left_aligned_selectable_text("n CPUs: <b>#{_}</b>")
  )
end

#add_operating_systemObject

#

add_operating_system

#


111
112
113
114
115
116
117
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 111

def add_operating_system
  require 'roebe/toplevel_methods/platform.rb'
  _ = Roebe.platform.to_s
  minimal(
    left_aligned_selectable_text('Operating system: <b>'+_+'</b>')
  )
end

#add_processor_informationObject

#

add_processor_information

#


177
178
179
180
181
182
183
184
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 177

def add_processor_information
  _ = `lscpu`.split("\n").select {|entry| entry.include? 'Model name: ' }
  _ = _.first if _.is_a? Array
  _ = _.split(':').last.strip
  minimal(
    left_aligned_selectable_text("Processor information: <b>#{_}</b>")
  )
end

#add_time_on_systemObject

#

add_time_on_system

#


97
98
99
100
101
102
103
104
105
106
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 97

def add_time_on_system
  minimal(
    left_aligned_selectable_text(
      'Time on system: '\
      '<b>'+dd_mm_yy+', '+
      return_current_time_in_hh_mm_ss+'</b>'
    ),
    2
  )
end

#border_size?Boolean

#

border_size?

#

Returns:

  • (Boolean)


84
85
86
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 84

def border_size?
  4
end

#connect_skeletonObject

#

connect_skeleton (connect tag)

#


134
135
136
137
138
139
140
141
142
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 134

def connect_skeleton
  abort_on_exception
  add_clock
  add_operating_system
  add_time_on_system
  add_processor_information
  add_binary_type_information
  add_n_CPUs
end

#create_skeletonObject

#

create_skeleton (create tag)

#


91
92
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 91

def create_skeleton
end

#padding?Boolean

#

padding?

#

Returns:

  • (Boolean)


77
78
79
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 77

def padding?
  8
end

#resetObject

#

reset (reset tag)

#


62
63
64
65
66
67
68
69
70
71
72
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 62

def reset
  reset_the_internal_variables
  infer_the_namespace
  # ======================================================================= #
  # === @configuration
  # ======================================================================= #
  @configuration = [true, __dir__, namespace?]
  title_width_height_font(TITLE, WIDTH, HEIGHT, USE_THIS_FONT)
  use_gtk_paradise_project_css_file # or use use_project_css_file 
  infer_the_size_automatically
end

#runObject

#

run (run tag)

#


189
190
191
# File 'lib/gtk_paradise/widgets/gtk3/system_information/system_information.rb', line 189

def run
  super()
end