]> git.somenet.org - factorio/some-luaconsole.git/commitdiff
RELEASE 2.0.4 - GUI reworked. Now shows currently configured key bindings master
authorSomeone <someone@somenet.org>
Sat, 18 Oct 2025 03:33:16 +0000 (05:33 +0200)
committerSomeone <someone@somenet.org>
Sat, 18 Oct 2025 03:33:16 +0000 (05:33 +0200)
License.txt
changelog.txt
control.lua
data.lua
info.json
locale/en/en.cfg

index 471d56f8614b9be241f0c135b8baaa60e7eacb40..705e1d866e231c674b4f68f8caa9937432f0b685 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (c) 2018-2024 Someone <someone@somenet.org>
+Copyright (c) 2018-2025 Someone <someone@somenet.org>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
index c609fc19bff34e8d43246d77777dcc28c3374a7f..55f530d39c87ddeaac8e750bce9010e751942b6e 100644 (file)
@@ -1,3 +1,10 @@
+---------------------------------------------------------------------------------------------------
+Version: 2.0.4
+Date: 2025-10-18
+
+  Changed:
+    - GUI reworked. Now shows currently configured key bindings.
+
 ---------------------------------------------------------------------------------------------------
 Version: 2.0.3
 Date: 2024-11-30
index de61d5a9d60f3b9a85cdf167e68ba97a312c6a21..4527a6685863acb31affc03787a793b30a13e911 100644 (file)
@@ -15,18 +15,15 @@ function exec_command(player)
 
     f, lserr = loadstring('local ipcs,ipcr ipcs,ipcr=pcall(function() '..cmd..' end) if not ipcs then game.players['..player.index..'].print(ipcr) end')
     if not f then
---        player.print("loadstring1 failed (this may be ok)")
         f, lserr = loadstring('game.players['..player.index..'].print('..cmd..')')
     end
 
     if f then
         pcs, pcerr = pcall(f)
         if not pcs then
---            player.print("pcall failed")
             player.print(pcerr:sub(1, pcerr:find('\n')))
         end
     else
---        player.print("syntax error2")
         player.print(lserr:sub(1, lserr:find('\n')))
     end
 end
@@ -37,35 +34,55 @@ function toggleGui (player)
         storage.cmd = player.gui.screen.some_luaconsole.input.text
         player.gui.screen.some_luaconsole.destroy()
     else
-        frame = player.gui.screen.add{type = 'frame',
-            name = 'some_luaconsole',
-            direction = 'vertical',
-            caption = {'some_luaconsole.title'}
-        }
+        frame = player.gui.screen.add{type = 'frame', name = 'some_luaconsole', direction = 'vertical'}
 
-        frame.add{type = 'label', caption = {'some_luaconsole.inputlabel'}}
-        input = frame.add{type = 'text-box',
-            name = 'input',
-            style='some_luaconsole_input_textbox'
-        }
+        local title_flow = frame.add{type = "flow", direction = "horizontal"}
+        title_flow.style.horizontally_stretchable = true
+        title_flow.style.horizontal_spacing = 8
+
+        local title_label = title_flow.add{type = 'label', caption = {'some-luaconsole.title'}, style = "frame_title"}
+        title_label.drag_target = frame
+
+        local title_pusher = title_flow.add{type = "empty-widget", style = "draggable_space_header"}
+        title_pusher.style.height = 24
+        title_pusher.style.horizontally_stretchable = true
+        title_pusher.drag_target = frame
+
+        local title_close_button = title_flow.add{type = "sprite-button", style = "frame_action_button", sprite = "utility/close", name = 'some-luaconsole-close', tooltip = {'some-luaconsole.close_tooltip'}}
+
+
+        frame.add{type = 'label', caption = {'some-luaconsole.inputlabel'}, style = "frame_title"}
+
+
+        local input = frame.add{type = 'text-box', name = 'input', style='some-luaconsole-input-textbox', enabled = admin}
         input.word_wrap = true
         input.style.maximal_height = (player.display_resolution.height/player.display_scale*0.6)
         input.text = storage.cmd or ""
 
-        horizontal_flow = frame.add{type='flow', direction='horizontal'}
-        horizontal_flow.add{type = 'button',
-            name = 'some_luaconsole_close',
+
+        bottom_flow = frame.add{type='flow', direction='horizontal'}
+        bottom_flow.style.horizontally_stretchable = true
+
+        bottom_flow.add{type = 'button',
+            name = 'some-luaconsole-close',
             style='back_button',
-            caption = {'some_luaconsole.close'},
-            tooltip = {'some_luaconsole.close_tooltip'}
+            caption = {'some-luaconsole.close'},
+            tooltip = {'some-luaconsole.close_tooltip'}
         }
-        horizontal_flow.add{type = 'button',
-            name = 'some_luaconsole_exec',
+        bottom_pusher = bottom_flow.add{type = "empty-widget", style = "draggable_space_header"}
+        bottom_pusher.style.height = 24
+        bottom_pusher.style.horizontally_stretchable = true
+        bottom_pusher.drag_target = frame
+
+        bottom_flow.add{type = 'button',
+            name = 'some-luaconsole-exec',
             style='confirm_button',
-            caption = {'some_luaconsole.exec'},
-            tooltip = {'some_luaconsole.exec_tooltip'}
+            caption = {'some-luaconsole.exec'},
+            tooltip = {'some-luaconsole.exec_tooltip'},
+            enabled = admin
         }
 
+
         if not player.admin then
             player.gui.screen.some_luaconsole.input.text = 'You are not an admin. You may not use this mod. :('
             player.gui.screen.some_luaconsole.input.enabled = false
@@ -77,17 +94,17 @@ end
 
 
 script.on_event(defines.events.on_gui_click, function(event)
-    if event.element.name == 'some_luaconsole_exec' then
+    if event.element.name == 'some-luaconsole-exec' then
         exec_command(game.players[event.player_index])
-    elseif event.element.name == 'some_luaconsole_close' then
+    elseif event.element.name == 'some-luaconsole-close' then
         toggleGui(game.players[event.player_index])
     end
 end)
 
 
-script.on_event('some_luaconsole_toggle', function(event)
+script.on_event('some-luaconsole-toggle', function(event)
     toggleGui(game.players[event.player_index])
 end)
-script.on_event('some_luaconsole_exec', function(event)
+script.on_event('some-luaconsole-exec', function(event)
     exec_command(game.players[event.player_index])
 end)
index 987bff7ba6dac6da3f964e73ef086798bc62370f..39ed6b8d2088cf64b280dfa69fbccfc997de5f41 100644 (file)
--- a/data.lua
+++ b/data.lua
@@ -1,20 +1,20 @@
-data.raw["gui-style"].default["some_luaconsole_input_textbox"] = {
+data.raw["gui-style"].default["some-luaconsole-input-textbox"] = {
     type = "textbox_style",
-    name = "some_console_input_textbox",
+    name = "some-console-input-textbox",
     parent = "textbox",
-    minimal_width = 650,
+    minimal_width = 700,
     minimal_height = 200,
 }
 
 data:extend({
     {
         type = "custom-input",
-        name = "some_luaconsole_toggle",
+        name = "some-luaconsole-toggle",
         key_sequence = "CONTROL + RIGHTBRACKET"
     },
     {
         type = "custom-input",
-        name = "some_luaconsole_exec",
+        name = "some-luaconsole-exec",
         key_sequence = "CONTROL + ENTER"
     },
 })
index 801e1dd5cf166ad2ba53e2bf2f3d8934925ec0c3..3f37027727243df5e15eaf1ebf5d2f5952fbd428 100644 (file)
--- a/info.json
+++ b/info.json
@@ -1,10 +1,10 @@
 {
     "name": "some-luaconsole",
-    "version": "2.0.3",
+    "version": "2.0.4",
     "title": "Someone's LUA-Console",
     "author": "someone1337",
     "homepage": "https://git.somenet.org/factorio/some-luaconsole.git",
-    "description": "Run lua commands without losing achievements. Now remembers input-script. 'game.player' works. By default opens with CONTROL + RIGHTBRACKET. Execute last input-script with CONTROL + ENTER.",
+    "description": "Run lua commands without losing achievements. Now remembers input-script. 'game.player' works. By default opens with CONTROL + RIGHTBRACKET. Execute last input-script with CONTROL + ENTER (keybindings configurable).",
     "factorio_version": "2.0",
     "dependencies": [
         "base>=2.0.0"
index d869929b43922c1c522e7a4d6520ce007eb80c4c..d2cf5c7f7edba9d3e1a70ed8a91ef56be3590dd8 100644 (file)
@@ -1,10 +1,10 @@
-[some_luaconsole]
+[some-luaconsole]
 title=Someone's LUA-Console
-inputlabel=To be executed (Control + Enter to execute, un-focus textarea!)
-close=Close
-close_tooltip=Close without executing input
-exec=Execute input
-exec_tooltip=Execute input tooltip
+inputlabel=Input to be executed  (__CONTROL__some-luaconsole-exec__ to execute without opening the lua-console)
+close=Save + Close
+close_tooltip=Save and close without executing input (__CONTROL__some-luaconsole-toggle__)
+exec=Execute input (save + stay open)
+exec_tooltip=Save + execute input; stay open (__CONTROL__some-luaconsole-exec__)
 
 [controls]
 some_luaconsole_toggle=Toggle Someone's LUA-Console